2

我在使用自定义水平列表视图的小型应用程序中遇到问题,我已按照以下链接创建水平列表视图。

而xml布局是这样的..

 <com.example.HorizontalListView
      android:id="@+id/listview"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal"
      android:background="@android:color/transparent"
      android:cacheColorHint="@android:color/transparent"
      android:divider="@color/Black"
       >
  </com.example.HorizontalListView>

但问题是,我无法更改水平列表视图的背景,任何人都可以帮助我..@提前谢谢!!!

4

2 回答 2

0

我有一个解决方案。我也在玩Horizo​​ntalListView。首先,您需要在 的<LinearLayout>标签中添加这一行viewitem.xml

android:background="@android:color/transparent"

然后在listviewdemo.xml

<com.devsmart.android.ui.HorizontalListView
    android:id="@+id/listview"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/background_you_want"
/>

如果您正确执行此操作,您将看到通过 Horizo​​ntalListView 显示的背景。背景横跨整个屏幕,这是有道理的,因为 Horizo​​ntalListView 也横跨整个屏幕。

希望这可以帮助。

于 2013-03-14T09:42:59.310 回答
0

尝试动态更改背景。

请单击此处View获取Android 开发者参考页面的 API 。请记住,以下三种方法可用于为View对象添加背景:

public void setBackground (Drawable background);
public void setBackgroundColor (int color);
public void setBackgroundResource (int resid);

创建:

@Override  
protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  

    setContentView(R.layout.listviewdemo);  

    HorizontialListView listview = (HorizontialListView) findViewById(R.id.listview);  
    listview.setAdapter(mAdapter);  

}  

基础适配器:

private BaseAdapter mAdapter = new BaseAdapter() {  

    @Override  
    public View getView(int position, View convertView, ViewGroup parent) {  
        View retval = LayoutInflater.from(parent.getContext()).inflate(R.layout.viewitem, null);  
        retval.setBackgroundResource(R.id.my_background); // add this line

        return retval;  
    }  

};  
于 2013-03-14T09:06:17.027 回答