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

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

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

и где именно там описана выделяемая область?
...
Рейтинг: 0 / 0
кнопки
    #39267615
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilja2210и где именно там описана выделяемая область?
Она там жестко задана в виде таблицы 3х3, но определяется место нажатия в onTouch.
...
Рейтинг: 0 / 0
кнопки
    #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
7 сообщений из 7, страница 1 из 1
Форумы / Android [игнор отключен] [закрыт для гостей] / кнопки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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