1

下の画像では、リストビューの下とボタンの上に灰色の領域があります。その領域をリストと同じ背景色 (黒) にしたい。

私には奇妙に思えますが、エミュレーターでは黒ですが、私の電話ではこの灰色です.

ここに画像の説明を入力

レイアウト、リスト、cachecolorhint の背景色を設定してみましたが、どう見てもグレーのままです。

現在のレイアウト:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:background="#000000" >
    <TextView
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="27dp"
        android:layout_alignParentTop="true"
        android:layout_gravity="center|center_vertical"
        android:gravity="center"
        android:textColor="#00ccff"
        android:textSize="20dp" />
     <TextView
        android:id="@+id/horizontalline"
        android:layout_width="match_parent"
        android:layout_height="2dip"
        android:layout_below="@id/header"
        android:background="#8b8b8b"
        android:paddingBottom="2dip"
        android:paddingTop="2dip" />
    <Button
        android:id="@+id/AddButton"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:layout_alignParentBottom="true"
        android:layout_gravity="center"
        android:gravity="center|top"
        android:textSize="12dp" >
    </Button>
    <ListView
        android:id="@id/android:list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_below="@id/horizontalline"
        android:background="#000000" 
        android:cacheColorHint="#000000" 
        android:layout_above="@id/AddButton"
        android:drawSelectorOnTop="false"
        android:listSelector="@android:color/transparent" />
    <TextView
        android:id="@android:id/empty"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/header"
        android:gravity="center" />
</RelativeLayout>

どんな助けでも感謝します。

編集

明確にするために、リストが画面いっぱいに表示されても問題はありません。画面いっぱいに表示されないアイテムがいくつかある場合です。この灰色の背景が表示されます...リスト。

4

4 に答える 4

8

スクリーンショットを見ると、お使いの携帯電話は Motorola 2.3+ (Droid 3?) を実行しているようです。一部のモトローラの携帯電話で同じ「機能」を見たことがあります。

完全な回答については、Motorola ブログのこの投稿を確認してください。ListView基本的に、 XML 属性を追加しますandroid:overScrollFooter="#000000"

2.3 以降のデバイスでのみ機能するため、次のスタイルで配置することをお勧めしますres/values-v10/styles.xml

<style name="MyListView" parent="@android:style/Widget.ListView">
    <item name="android:listSelector">@drawable/list_selector</item>
    <item name="android:overScrollFooter">#000000</item>
</style>

次に、これをに追加しますtheme.xml

<style name="MyTheme" parent="android:Theme">
    <item name="android:windowBackground">@null</item>
    <item name="android:listViewStyle">@style/MyListView</item>
</style>

最後に、カスタム テーマを AndroidManifest のアクティビティに適用します。

<activity android:name="com.listtest.MainActivity"
    android:label="@string/app_name" 
    android:theme="@style/MyTheme">

テーマを渡さずにスタイルをリストに直接適用できると思いますが、このソリューションは、マニフェスト内のすべてのアクティビティに適用するとすぐに、アプリ内のすべての ListView で機能します。

于 2012-05-19T14:48:00.723 に答える
1

//これは私には問題ないようです

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" 
    android:background="#000000" >
    <TextView
        android:id="@+id/header"
        android:layout_width="fill_parent"
        android:layout_height="27dp"
        android:layout_alignParentTop="true"
        android:layout_gravity="center|center_vertical"
        android:gravity="center"
        android:textColor="#00ccff"
        android:textSize="20dp" />
     <TextView
        android:id="@+id/horizontalline"
        android:layout_width="match_parent"
        android:layout_height="2dip"
        android:layout_below="@id/header"
        android:background="#8b8b8b"
        android:paddingBottom="2dip"
        android:paddingTop="2dip" />
    <TextView

        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/header"
        android:gravity="center" 
        android:background="#000" 
        />
    <Button
        android:id="@+id/AddButton"
        android:layout_width="match_parent"
        android:layout_height="35dp"
        android:layout_alignParentBottom="true"
        android:layout_gravity="center"
        android:gravity="center|top"
        android:textSize="12dp" >
    </Button>
    <ListView
        android:id="@id/android:list"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_below="@id/horizontalline"
        android:background="#000000" 
        android:cacheColorHint="#000000" 
        android:layout_above="@id/AddButton"
        android:drawSelectorOnTop="false"
        android:listSelector="@android:color/transparent" />
</RelativeLayout>
于 2012-05-18T15:50:20.743 に答える
0

うーん、リストが残りのスペースを拡大しているように見えませんか? それは意図したものですか?

また、灰色を変更するには、「空の」テキストビューの背景色を設定する必要はありません。高さ全体に広がっているように見えるため、灰色に見えるテキストビューだと思います。

于 2012-05-18T15:47:18.003 に答える
0

これを試してください(これで問題が解決するかどうかはわかりません...):

<ListView
    android:id="@+id/my_list"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:layout_below="@id/horizontalline"
    android:background="#000000" 
    android:cacheColorHint="#000000" 
    android:layout_above="@id/AddButton"
    android:drawSelectorOnTop="false"
    android:listSelector="@android:color/transparent" />

(リストビューの高さは常に fill_parent でなければなりません)

于 2012-05-18T15:54:25.797 に答える