にスタイルを適用すると、この画像は私が見られるように、自分のアプリケーションにlisviewのスタイルをしたいのAndroidのListView
です:list_item_normalため
コードは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<gradient
android:centerColor="#E6E6E6"
android:endColor="#CCCCCC"
android:startColor="#FFFFFF"
android:angle="270"/>
<!--
<gradient
android:startColor="#FF7500"
android:centerColor="#FFCC00"
android:endColor="#FF7500"
android:angle="270"/>
-->
<stroke
android:width="1dp"
android:color="#A0000000" />
<padding
android:bottom="8dp"
android:left="5dp"
android:right="5dp"
android:top="8dp" />
<corners android:radius="5dp" />
</shape>
list_item_pressed.xmlためのコードは次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:centerColor="#E6E6E6"
android:endColor="#CCCCCC"
android:startColor="#FFFFFF" android:angle="270"/>
<!--
<gradient android:startColor="#FF66CFE6" android:centerColor="#FF207FB9"
android:endColor="#FF0060B8" android:angle="270"/>
-->
<stroke
android:width="2dp"
android:color="#80000000" />
<padding
android:bottom="8dp"
android:left="5dp"
android:right="5dp"
android:top="8dp" />
<corners android:radius="7dp" />
</shape>
list_item_pressed.xmlのためのコード:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<gradient
android:centerColor="#E6E6E6"
android:endColor="#CCCCCC"
android:startColor="#FFFFFF" android:angle="270"/>
<!--
<gradient android:startColor="#FF66CFE6" android:centerColor="#FF207FB9"
android:endColor="#FF0060B8" android:angle="270"/>
-->
<stroke
android:width="2dp"
android:color="#80000000" />
<padding
android:bottom="8dp"
android:left="5dp"
android:right="5dp"
android:top="8dp" />
<corners android:radius="7dp" />
</shape>
とlist_gradient.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/list_item_pressed" />
<item android:state_focused="true"
android:drawable="@drawable/list_item_selected" />
<item android:drawable="@drawable/list_item_normal" />
</selector>
と私は好きcustom listitem
にこのスタイルを適用しています
<TextView
.../>
<ImageView
... />
と私はlisviewが持っているmain.xml:
<ListView
android:id="@+id/List"
style="@style/list_item_gradient"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:clickable="true" >
</ListView>
と下図のように、私は出力を取得しています:
は、あなたがディザリングについて知っています..私が間違ってやっている何を言うことによって
おかげ Shruti
私はリスト行のカスタムレイアウトで手を汚していました。私は、押された状態、選択された状態、通常状態(あなたのドロウアブルファイルに言及されているようなもの)のように必要なことをしました。また、デフォルトのレイアウトスタイルをlist_item_gradientに変更しました。私は振付師の警告に走っています。私はメインスレッドであまりにも多くの作業をしているかもしれません。これを回避するには何ができるのでしょうか? –
メインスレッドの作業を減らすために、非同期タスクを使用してみてください。 – Shruti
また、スタイルには親属性がないため、フォーラムの一部でも読んでいます。定義する方法は? –