Я хочу установить фоновое изображение для моего списка, чтобы независимо от того, где вы находитесь в списке, вы видели одно и то же фоновое изображение.
Для scrollview это просто случай установки фонового изображения scrollview в атрибутах XML, но аналогичным образом для просмотра списка не работает
Я использую собственный ArrayAdapter как таковой:
private class CustomAdapter extends ArrayAdapter<TableRow>{
private ArrayList<TableRow> items;
public CustomAdapter(Context context, int textViewResourceId, ArrayList<TableRow> items) {
super(context, textViewResourceId, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_season, null);
}
TableRow o = items.get(position);
if (o != null) {
v = o;
}
return v;
}
}
, а затем
ListView lv = new ListView(this);
lv.setId(R.id.list_listView1);
ArrayList<TableRow> tablerows = new ArrayList<TableRow>();
// create some TableRow's and add them to tablerows
CustomAdapter vAdapt = new CustomAdapter(this, R.id.list_season_item_name,tablerows);
lv.setAdapter(vAdapt);
setContentView(lv);
и мой xml:
<ListView
android:id="@+id/list_listView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/standard_layout">
<LinearLayout
android:id="@+id/list_linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/standard_layout">
<TextView
android:text="list_textview1"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
</LinearLayout>
, а также
<?xml version="1.0" encoding="utf-8"?>
<TableRow
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_alignParentLeft="true"
android:id="@+id/list_season_row"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:paddingTop="10dip"
android:paddingLeft="15dip"
android:paddingBottom="10dip">
<TextView
android:layout_weight="3"
android:layout_width="0dip"
android:paddingRight="10dip"
android:id="@+id/list_season_item_name"
android:layout_height="wrap_content"
style="@style/standard_item">
</TextView>
<TextView
android:paddingLeft="10dip"
android:layout_weight="1"
android:id="@+id/list_season_item_season"
android:gravity="left"
android:layout_gravity="right"
android:layout_width="0dip"
android:layout_height="wrap_content"
style="@style/standard_season">
</TextView>
</TableRow>
и мои стили
<style name="standard_item" parent="@style/standard_font">
<item name="android:textSize">18sp</item>
</style>
<style name="standard_season" parent="@style/standard_font">
<item name="android:textSize">12sp</item>
</style>
<style name="standard_layout" parent="@style/standard_font">
<item name="android:background">@drawable/background_img</item>
</style>
Установка стиля для каждой таблицы TableRow заставляет каждого использовать целое фоновое изображение, а это не то, что мне нужно.
Также, возможно, есть лучший способ реализовать мой ArrayAdapter, но я не заинтересован в его изменении, если нет другого способа получить эффект, которого я добиваюсь
Это уже давно меня беспокоит, так что любая помощь будет признательна,
Спасибо
Ложка большого пальца