2

ListViewに背景画像を設定する際に問題が発生しました。コードは以下の通りです

history.xml

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

<ListView android:id="@id/android:list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:cacheColorHint="#00000000"
    android:layout_weight="1"
    android:drawSelectorOnTop="false"
    android:src="@drawable/back">
    </ListView>

<TextView  android:id="@id/android:empty"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#FFff00"
    android:text="No data"
    android:cacheColorHint="#00000000"
    />
</LinearLayout>

rowlayout.xml

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

<TextView android:id="@+id/ProductName"       
    android:textSize="25sp"         
    android:textColor="#FFFF00"        
    android:layout_width="fill_parent"         
    android:layout_height="wrap_content"
    />

</LinearLayout>

Javaコード

..。

setListAdapter(new ArrayAdapter<String>(this, R.layout.rowlayout,R.id.ProductName,Names));

..。

ここで何をしているのかわかりませんが、背景が表示されません。全体が黒。rowlayout.xmlのテキストビューに背景を配置すると表示されますが、画面全体にListViewのエントリが1つ含まれています。たくさんのチュートリアルを試しました。たぶん新人のミスをしている..助けてください

4

4 に答える 4

2

次のようなリストビューには android:background="@drawable/icon" を使用します

 <ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:cacheColorHint="#00000000"
android:layout_weight="1"
android:drawSelectorOnTop="false"
android:background="@drawable/icon">
</ListView>
于 2012-05-17T14:18:06.627 に答える
0

私はあなたが経験していることはここに記述されていると信じています:http://android-developers.blogspot.com/2009/01/why-is-my-list-black-android.html

「キャッシュカラーヒント」と呼ばれる最適化により、リストの背景はデフォルトでウィンドウの背景色(Androidのダークテーマの#191919)に設定されています。

各行に背景を設定すると、私が何を意味するのかがわかると思います。次の背景形状を設定してみてください。

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<stroke
    android:color="@color/mid_gray"
    android:width="1dp"
/>

<padding
    android:left="7dp"
    android:top="7dp"
    android:right="7dp"
    android:bottom="3dp"
/>

<corners android:radius="10dp" />

<solid android:color="@android:color/white" />
</shape>

このような:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@drawable/shape_data_background">

<TextView android:id="@+id/ProductName"       
android:textSize="25sp"         
android:textColor="#FFFF00"        
android:layout_width="fill_parent"         
android:layout_height="wrap_content"
/>

</LinearLayout>
于 2012-05-17T15:21:11.750 に答える
0

リストビュー項目で android:background="#00000000" を使用し、親フォームの背景を画像に設定します

于 2012-05-17T14:55:17.803 に答える
0

コードの概念を正しく理解しているので、Viewの上に横たわる2 つの s を実現したいと考えています。そのうちの 1 つは背景でレイアウトをカバーし、もう 1 つは透明です。したがって、レイアウトの背景を設定して透明にする以外に方法はありません。また、スクロール中に背景が黒く塗りつぶされないように設定する必要がありますLinearLayoutTextViewListViewandroid:background="#00000000"android:cacheColorHint="#00000000"ListView

于 2012-05-17T15:16:36.857 に答える