2012-05-25 17 views
9

ListViewをスタイルに合わせてエレガントな外観にする方法はたくさんありますが、それらのすべてにはアダプタの変更や追加コードの作成が必要です。Androidリストビューのテーマ

Android 4.0のリリースでは、残念ながら変更する必要があります。 Googleはホロのテーマを洗練し、新しい表情を与えました。すべてのデベロッパーがすべてのアプリを同じように見せるために、すべてのデベロッパーがこれを使用するように勧められています。

ここに問題があります。 Googleは4.0を公開しましたが、古いAndroidバージョンを使用しているユーザーはまだいます。以前のカスタムアプリケーションのテーマをそのまま使用してHoloを使用することはできません。これは、古いデバイスを使用するユーザーの視覚体験を損なうためです。正直言って、4.0人のユーザーにHoloを使用させることはできません。それはまだ完全ではありません。

目標は、組み込みのテーマシステムを使用して、すべてのデバイスでよく見えるHoloのいくつかの選択肢を準備することです。それから、setTheme()だけでHoloとテーマを切り替えることができます。追加の問題はありません。不幸にもそれはそれほど簡単ではありません。私たちは既存のテーマシステムの機能に限られており、いくつかのことはやりにくいものです。そしてここに私の質問が来る。

私が言及したすべてを考慮して、どのようにListViewの外観を制御できますか?私が把握することはできないんだけど、方法:最後の/最初の要素を選択する際

  • は、角を丸めたリストを作成していることを確認してくださいセレクタの背景には、
  • がリストについては、角を丸くない作成、それを台無しにしませんenter image description here

このソリューションは、追加のコード行なしでPreferenceActivityによって作成されたListViewに影響を与える必要があります。すべては、テーマに含まれるべきである。

<theme name="SampleTheme" parent="android:Theme"> 
    ... 
</theme> 

私は親切なスタイルに&テーマを使用していない解決策を投稿しないようお願いします。スタックオーバーフローに関する別の質問で簡単に見つけることができます。

ありがとうございます。

+1

http://android-ui-utils.googlecode.com/hg/asset-studio/dist/indexを確認してください。 html –

+0

@JaredRummlerこのリンクは壊れています。 – Zety

+0

@WalR I * think *これは同じことです:http://romannurik.github.io/AndroidAssetStudio/ –

答えて

1

これを解決するには2つの方法があります。

あなたのリストビューには、背景を指定するためのテーマを使用するだけです。これは、丸い角または指定したxmlの形をした9つのパッチです(角も丸くなります)。これにより、リストビューの行セレクタの副作用が、指定した背景の上に表示されます。その結果、エフェクトが損なわれます。しかし、実装するのはかなり簡単です。

2つ目のオプションは、常に上端(および下端)に角が丸くなったセレクタである背景を持つリストビューにヘッダーとフッターを追加することです。本当にしたい場合は、これらのスタイルを指定することもできます。 この最後のコメントに申し訳ありませんが、私はそれを言わなければなりませんでした。アプリをiPhoneアプリのように見せないでください:)