1

DrawerLayout を使用してアプリを開発しました。

私の問題はListView、アイテムをクリックするtextColorと白くなりますが、背景はまだ透明で、ListView背景は白です。そのため、選択したテキストは判読できません。

私は解決策を検索し、それらの多くを試しましたが、誰も機能していません。#FFCCCCCCたとえば、アイテムが選択されたときに背景色を変更したいだけです。

何か考えはありますか?

引き出しのレイアウト

    <!-- The main content view -->
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#FFDDDDDD"/>

    <!-- The navigation drawer -->
    <ListView android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:background="#FFF"/>

</android.support.v4.widget.DrawerLayout>

ナビゲーションリスト

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <ImageView
        android:id="@+id/image"
        android:layout_width="25dp"
        android:layout_height="25dp"
        android:layout_margin="15dp" />

    <TextView 
        android:id="@+id/name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:layout_gravity="center_vertical"/>

</LinearLayout>

解決策があれば...ありがとう:)

編集 :

スクリーンショット

4

4 に答える 4

4

リスト項目の背景用にセレクターを定義するときは、セクションandroid:state_activated="true"も用意してください。Re: https://stackoverflow.com/a/15917947/954643ListView#setItemChecked()呼び出しが実際に選択された状態を設定しないのはかなり面倒です...しかし、それが別の#setSelection. ドキュメントがアイテムを配置する状態についてより明確であることを願っています.

于 2013-10-19T04:45:35.857 に答える
0

アダプタで:

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    ...

    rowView.setBackgroundResource(R.drawable.YOUR_SELECTOR);
    rowView.setLayoutParams(new ListView.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));

    return rowView;
}
于 2014-07-29T19:39:03.800 に答える
0

メニュー項目の背景は、単純なドローアブルや色ではなく、次のようなセレクターを指す必要があります。

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@color/holo_blue_light" android:state_pressed="true" />
    <item android:drawable="@color/holo_blue_light" android:state_selected="true" />
    <item android:drawable="@color/menu_background" />
</selector>
于 2013-05-26T13:26:18.663 に答える