2012-03-16 53 views
5

私は、以下のリストビューが含まれているリニアレイアウトがあります。dividerがlistview @android:id/listに表示されないのはなぜですか?

<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:cacheColorHint="#00000000" 
    android:divider="#FF0000" 
    android:dividerHeight="4dp" 
    /> 

をし、レイアウトがListActivityで使用されている、問題はリストビューのXMLに次の行を有効にしないことです:

 android:divider="#FF0000" 
    android:dividerHeight="4dp" 

デフォルトのデバイダが設定されています。なぜこれが起きて、それを修正するのですか?

+0

私はそれをチェックして、それは私が表示濃度に依存しないようにDPを選択するが、私はまた、PXを試してみるとうまくいきませんでした,,,, –

答えて

3

そのdpとpxの違い。

使用この

android:dividerHeight="4px" 

代わりの

android:dividerHeight="4dp" 

、あなたが

int[] colors = {0, 0xFFFF0000, 0}; // red for the example 
myList.setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); 
myList.setDividerHeight(1); 

をしたい場合は、あなたがそれを取得するもこれを使用する...解決

+0

私と赤のカラー分圧器のために働きます。 – Jimmy

+0

この記事を参照してくださいいくつかのアイデアを得るでしょう http://danroundhill.com/2009/12/18/working-with-the-android-listview/ –

+0

ニース勾配ディバイダ。 :o) –

1

そのnow。問題は、私はXMLでリストを作成することを決定する前に、私は、XMLをオーバーライドして仕切りを追加するために、私のlistActivityにこのコードを持っていたです:

int[] colors = { 0xA8A8A8A8, 0xFFFFFFFF, 0xA8A8A8A8 }; 
getListView().setDivider(new GradientDrawable(Orientation.RIGHT_LEFT, colors)); 
getListView().setDividerHeight(1); 
2

私にとって、これは完璧に働いている:

<ListView 
    android:id="@+id/listHomeScreen" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:cacheColorHint="#000" 
    android:divider="#7F7F7F" 
    android:dividerHeight="1dip" 
    android:listSelector="@android:color/transparent" > 
</ListView> 

を確認してください我々はアンドロイドをオーバーライドしていない:dividerHeightまたはdividerの色。

1

setEnabled()をオーバーライドした場合、Android Lollipop 5.0にバグがあります。 チェックは、より多くの情報のため、この質問をotの ListView divider not showing in Android 5

関連する問題