Как кнопка получить фокус на клике в Android - PullRequest
1 голос
/ 24 мая 2011

В моем макете XML-файла я создал экран с тремя кнопками с фоном, теперь, когда пользователь нажимает на него. Он не показывает никаких признаков нажатия Как я могу добиться этого любой помощи.

Заранее спасибо

Ответы [ 4 ]

3 голосов
/ 24 мая 2011

Не уверен, но нам нужно установить hover на xml

<item
        android:color="hex_color"
        android:state_pressed=["true" | "false"]
        android:state_focused=["true" | "false"]
        android:state_selected=["true" | "false"]
        android:state_checkable=["true" | "false"]
        android:state_checked=["true" | "false"]
        android:state_enabled=["true" | "false"]
        android:state_window_focused=["true" | "false"] />
1 голос
/ 04 января 2012

Вот ответ.

Чтобы указать различные состояния кнопок (сфокусировано, выбрано и т. Д.), Вы можете определить разные изображения для каждого состояния

Сохранить файл XML в своемпроект res / drawable / folder, а затем ссылаться на него как drawable для источника вашего ImageButton (в атрибуте android: src).Android автоматически изменит изображение в зависимости от состояния кнопки и соответствующих изображений, определенных в XML.

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true"
       android:drawable="@drawable/button_pressed" /> <!-- pressed -->
   <item android:state_focused="true"
       android:drawable="@drawable/button_focused" /> <!-- focused -->
   <item android:drawable="@drawable/button_normal" /> <!-- default -->
</selector>
0 голосов
/ 18 февраля 2014

сделать эти три xml файла в папке drawable. custom_background_focus.xml

{

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <stroke
        android:width="1dp"
        android:color="#111111" />

    <gradient
        android:angle="225"
        android:endColor="#fcfcfc"
        android:startColor="#fcfcfc" />

    <corners
        android:bottomLeftRadius="4dp"
        android:bottomRightRadius="4dp"
        android:topLeftRadius="4dp"
        android:topRightRadius="4dp" />

</shape>

custom_background_normal.xml

   <?xml version="1.0" encoding="UTF-8"?>
    <shape xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle" >

        <stroke
            android:width="1dp"
            android:color="#333333" />

        <gradient
            android:angle="225"
            android:endColor="#999999"
            android:startColor="#999999" />

        <corners
            android:bottomLeftRadius="4dp"
            android:bottomRightRadius="4dp"
            android:topLeftRadius="4dp"
            android:topRightRadius="4dp" />

    </shape>

}

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item android:state_pressed="true"
       android:drawable="@drawable/custom_background_focus" /> <!-- pressed -->
   <item android:state_focused="true"
       android:drawable="@drawable/custom_background_focus" /> <!-- focused -->
   <item android:drawable="@drawable/custom_background_normal" /> <!-- default -->
</selector>
0 голосов
/ 26 мая 2011

Привет всем, мне удается найти ответ самостоятельно. что я сделал

    final Button home = (Button) findViewById(R.id.btnmaphome);
    home.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            home.setBackgroundResource(R.drawable.lodclick);
            // rest of the code
        }
    });

здесь у меня есть другое изображение, и я устанавливаю его в качестве фона, когда при нажатии кнопки другое изображение устанавливается в качестве фона для кнопки, и кажется, что кнопка сфокусировалась. Спасибо всем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...