Android Selectorの使い方
2727 ワード
これは転載で、本人が作ったものではありません.
AndroidのSelectorは、主にListViewとButtonコントロールのデフォルトの背景を変更するために使用されます.(mylist_view.xmlの場合)
1.mylist_を作成するview.xmlファイル
まずresディレクトリの下にdrawableフォルダを新規作成し、新しいdrawableフォルダにmylist_を新規作成します.view.xml、ディレクトリ構造:res/drawable/mylist_view.xml.
2.必要に応じてmylist_を編集view.xmlファイル
新規mylist_view.xmlファイルの後、属性が追加されていない場合、その内部コード構造は次のとおりです.
以下では、プロジェクトの要件に応じて、その内部で自分のスタイルとして定義できます.主なプロパティは次のとおりです.
3.mylist_を参照view.xmlファイル
作成したファイルを参照するには、次の3つの方法があります.
(1)ListViewに次の属性コードを追加する
(2)ListViewのitemインタフェースに次のような属性コードを追加する.
(3)JAVAコードによる直接作成
リストが黒くなるのを防ぐためには、ListViewに以下の属性コードを追加する必要があります
プロパティの説明:
android:state_selected選択
android:state_フォーカス取得
android:state_pressedクリック
android:state_enabledはイベントに応答するかどうかを設定し、すべてのイベントを指します.
AndroidのSelectorは、主にListViewとButtonコントロールのデフォルトの背景を変更するために使用されます.(mylist_view.xmlの場合)
1.mylist_を作成するview.xmlファイル
まずresディレクトリの下にdrawableフォルダを新規作成し、新しいdrawableフォルダにmylist_を新規作成します.view.xml、ディレクトリ構造:res/drawable/mylist_view.xml.
2.必要に応じてmylist_を編集view.xmlファイル
新規mylist_view.xmlファイルの後、属性が追加されていない場合、その内部コード構造は次のとおりです.
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
</selector>
以下では、プロジェクトの要件に応じて、その内部で自分のスタイルとして定義できます.主なプロパティは次のとおりです.
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- -->
<item android:drawable="@drawable/pic1" />
<!-- -->
<item android:state_window_focused="false"
android:drawable="@drawable/pic1" />
<!-- -->
<item android:state_focused="true" android:state_pressed="true" android:drawable= "@drawable/pic2" />
<!-- -->
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pic3" />
<!-- -->
<item android:state_selected="true" android:drawable="@drawable/pic4" />
<!-- -->
<item android:state_focused="true" android:drawable="@drawable/pic5" />
</selector>
3.mylist_を参照view.xmlファイル
作成したファイルを参照するには、次の3つの方法があります.
(1)ListViewに次の属性コードを追加する
android:listSelector="@drawable/mylist_view"
(2)ListViewのitemインタフェースに次のような属性コードを追加する.
android:background="@drawable/mylist_view"
(3)JAVAコードによる直接作成
Drawable drawable = getResources().getDrawable(R.drawable.mylist_view);
listView.setSelector(drawable);
リストが黒くなるのを防ぐためには、ListViewに以下の属性コードを追加する必要があります
android:cacheColorHint="@android:color/transparent"
プロパティの説明:
android:state_selected選択
android:state_フォーカス取得
android:state_pressedクリック
android:state_enabledはイベントに応答するかどうかを設定し、すべてのイベントを指します.