Гость
Форумы / Android [игнор отключен] [закрыт для гостей] / кнопки / 7 сообщений из 7, страница 1 из 1
02.07.2016, 11:04
    #39266785
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кнопки
Всем привет!
Вопрос покажется не очень умным, но все же...
Как изменить физическую форму кнопки?
Есть картинка, там при нажатии на разные объекты звучит музыка.
Зодолбался с этими прозрачными прямоугольными кнопками(
Может, можно как-то делать кнопки о форме объектов картинки?
Заранее спасибо!
...
Рейтинг: 0 / 0
02.07.2016, 13:24
    #39266809
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кнопки
ilja2210,

вроле предлагал же делать свой контрол с xml описанием облостей, который рисует картинку и обрабатывает нажатия?
...
Рейтинг: 0 / 0
02.07.2016, 21:23
    #39266884
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кнопки
wadman,

И так типа можно сделать абсолютно любую сложную форму? Делал круглые,овальные кнопки,но оставался прозрачный прямоугольный контур
...
Рейтинг: 0 / 0
04.07.2016, 09:18
    #39267113
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кнопки
ilja2210И так типа можно сделать абсолютно любую сложную форму?
Конечно. Пример: 15495889 и там ни одной кнопки нет, но нажатия реагирует.
...
Рейтинг: 0 / 0
04.07.2016, 18:12
    #39267600
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кнопки
wadman,

и где именно там описана выделяемая область?
...
Рейтинг: 0 / 0
04.07.2016, 18:33
    #39267615
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кнопки
ilja2210и где именно там описана выделяемая область?
Она там жестко задана в виде таблицы 3х3, но определяется место нажатия в onTouch.
...
Рейтинг: 0 / 0
04.07.2016, 19:32
    #39267647
ilja2210
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
кнопки
wadman,

отлично,понял)
есть еще один,мб последний вопрос...
качается onTouchListener

хочу,чтоб при касании кнопки звучал короткий звук из raw
перепробовал все, что предлагалось на просторах форумов, выдает ошибки((

с обычным кликом activity выглядит так:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
package com.example.drums.magicdrums;

import android.content.Intent;
import android.media.AudioAttributes;
import android.media.AudioManager;
import android.media.SoundPool;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

public class Main2Activity extends AppCompatActivity {


    private SoundPool soundPool;

    private AudioManager audioManager;

    // Maximumn sound stream.
    private static final int MAX_STREAMS = 5;

    // Stream type.
    private static final int streamType = AudioManager.STREAM_MUSIC;

    private boolean loaded;

    private int soundIdbutton;
    private int soundIdbutton2;
    private int soundIdbutton3;
    private int soundIdbutton5;
    private int soundIdbutton6;
    private int soundIdbutton7;
    private int soundIdbutton8;
    private int soundIdbutton9;
    private int soundIdbutton10;
    private int soundIdbutton11;
    private float volume;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        // AudioManager audio settings for adjusting the volume
        audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);

        // Current volumn Index of particular stream type.
        float currentVolumeIndex = (float) audioManager.getStreamVolume(streamType);

        // Get the maximum volume index for a particular stream type.
        float maxVolumeIndex  = (float) audioManager.getStreamMaxVolume(streamType);

        // Volumn (0 --> 1)
        this.volume = currentVolumeIndex / maxVolumeIndex;

        // Suggests an audio stream whose volume should be changed by
        // the hardware volume controls.
        this.setVolumeControlStream(streamType);

        // For Android SDK >= 21
        if (Build.VERSION.SDK_INT >= 21 ) {

            AudioAttributes audioAttrib = new AudioAttributes.Builder()
                    .setUsage(AudioAttributes.USAGE_GAME)
                    .setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
                    .build();

            SoundPool.Builder builder= new SoundPool.Builder();
            builder.setAudioAttributes(audioAttrib).setMaxStreams(MAX_STREAMS);

            this.soundPool = builder.build();
        }
        // for Android SDK < 21
        else {
            // SoundPool(int maxStreams, int streamType, int srcQuality)
            this.soundPool = new SoundPool(MAX_STREAMS, AudioManager.STREAM_MUSIC, 0);
        }

        // When Sound Pool load complete.
        this.soundPool.setOnLoadCompleteListener(new SoundPool.OnLoadCompleteListener() {
            @Override
            public void onLoadComplete(SoundPool soundPool, int sampleId, int status) {
                loaded = true;
            }
        });

        // Load sound file (destroy.wav) into SoundPool.
        this.soundIdbutton = this.soundPool.load(this, R.raw.button,1);
        this.soundIdbutton2 = this.soundPool.load(this, R.raw.button2,1);
        this.soundIdbutton3 = this.soundPool.load(this, R.raw.button3,1);
        this.soundIdbutton5 = this.soundPool.load(this, R.raw.button5,1);
        this.soundIdbutton6 = this.soundPool.load(this, R.raw.button6,1);
        this.soundIdbutton7 = this.soundPool.load(this, R.raw.button7,1);
        this.soundIdbutton8 = this.soundPool.load(this, R.raw.button8,1);
        this.soundIdbutton9 = this.soundPool.load(this, R.raw.button9,1);
        this.soundIdbutton10 = this.soundPool.load(this, R.raw.button10,1);
        this.soundIdbutton11 = this.soundPool.load(this, R.raw.button11,1);

    }



    public void playSoundButton(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }

    public void playSoundButton2(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;

            // Play sound objects destroyed. Returns the ID of the new stream.
            int streamId = this.soundPool.play(this.soundIdbutton2,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }
    public void playSoundButton3(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton3,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }
    public void playSoundButton5(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton5,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }
    public void playSoundButton6(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton6,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }
    public void playSoundButton7(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton7,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }
    public void playSoundButton8(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton8,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }
    public void playSoundButton9(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton9,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }
    public void playSoundButton10(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton10,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }
    public void playSoundButton11(View view)  {
        if(loaded)  {
            float leftVolumn = volume;
            float rightVolumn = volume;
            int streamId = this.soundPool.play(this.soundIdbutton11,leftVolumn, rightVolumn, 1, 0, 1f);
        }
    }



    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate( R.menu.menu_main, menu );
        return true;
    }


    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        if (id == R.id.item1) {
            Intent browseIntent = new Intent( Intent.ACTION_VIEW, Uri.parse( "http://www.iljatihomirov.wix.com/appi" ) );
            startActivity( browseIntent );
        }


        return super.onOptionsItemSelected( item );
    }


}


как поменять это добро на touch?
...
Рейтинг: 0 / 0
Форумы / Android [игнор отключен] [закрыт для гостей] / кнопки / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]