3

ImageButton があり、そのためのセレクターを作成したので、imageButton を押すと、別の画像が表示されます。しかし、画像ボタンを押すと、画像を変更する前に1秒待たなければならないようです。それはユーザーエクスペリエンスにとって本当に良くありません..

これを修正する可能性はありますか?いくつかの回答を調べましたが、これを変更する場所がわかりません。

これが私のコードです

セレクタ:

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

<item
    android:state_pressed="true"
    android:state_enabled="true"
    android:drawable="@drawable/main_pressed" />
<item
    android:state_enabled="true"
    android:drawable="@drawable/main" />
</selector>

レイアウトファイル

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@drawable/bg" >

    <ImageButton
          android:id="@+id/mainMosque"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_centerInParent="true"
          android:background="@null"
          android:contentDescription="@string/mainMosque"
          android:src="@drawable/main_btn_mosque" />

</RelativeLayout>
4

3 に答える 3

0

これは私にとって本当に新しい問題であるため、これで問題が解決するかどうかはわかりません。ただし、次のことを試すことができます

<ImageButton
      android:id="@+id/mainMosque"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_centerInParent="true"
      android:background="@drawable/main_btn_mosque"
      android:contentDescription="@string/mainMosque"/>

そしてmain_btn_mosque

<?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/main_pressed" />
<item
    android:drawable="@drawable/main" />
</selector>

selectorデフォルトで有効になっているため、これは単なる最適化です。

それでも問題が存在する場合。もう 1 つ試してみてください。ImageButton使用の代わりにButton

于 2013-03-15T15:16:18.157 に答える
0

ImageButton の代わりに ImageView を使用し、Glide ライブラリを使用して画像をビューにロードすると、アプリケーションのパフォーマンスが向上します。詳細については、https : //github.com/bumptech/glideを参照してください。あなたのために!

于 2017-05-03T14:23:31.650 に答える
-1

ボタンの応答性を高めるにはどうすればよいですか?

このリンクは、これを引き起こしている原因についての手がかりを提供しますが、答えを実装することに成功していません。

まあ...私は通常、Buttonクラスを拡張し、onTouchEventメソッドをオーバーライドします

public boolean onTouchEvent (MotionEvent event) 
{
   if (event.getAction() == MotionEvent.ACTION_DOWN) 
   {
      setPressed(true);
   }
   return super.onTouchEvent(event);
}
于 2015-01-26T16:21:17.437 に答える