【问题标题】:Android how to change gridview highlight color?Android如何更改gridview突出显示颜色?
【发布时间】:2012-03-27 00:17:42
【问题描述】:

如何在 gridview 中改变 imageView 的高亮颜色。

我试过了,

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

    ImageView imageView;
    if (convertView == null) {  // if it's not recycled, initialize some attributes
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(width, height));
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        imageView.setBackgroundResource(R.drawable.menu_beh);
     //   imageView.setPadding(8, 8, 8, 8);
    } else {
        imageView = (ImageView) convertView;
    }

    String s=(String)HiveApp.mgd[position].posters[2].image.url;
 //   imageView.setImageDrawable(getPicture(items[position]));
   HiveApp.id.download(s, imageView); 


  //     id.DisplayImage(s, imageView);

    return imageView;
}

【问题讨论】:

    标签: android gridview colors highlight


    【解决方案1】:

    我自己解决了,你应该把它添加到你的布局xml中

     android:listSelector="@drawable/panel_picture_frame_background"
    

    不是这个

    imageView.setBackgroundResource(R.color.gridview_highlight_selector);
    

    谢谢

    【讨论】:

    • 也为我工作。上面的选项崩溃了。
    【解决方案2】:

    将包含以下内容的imageview_highlight_selector.xml文件添加到drawable文件夹,然后调用imageView.setBackgroundResource(R.drawable.gridview_highlight_selector);

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:drawable="@drawable/highlight_bg" /> <!-- pressed -->
     <item android:drawable="@drawable/normal_bg" /> <!-- default -->
    </selector>
    

    我建议你在一个 xml 文件中定义你的 gridview 项目,然后从你的 Java 代码中扩充那个 xml,这样会更整洁。

    编辑:

    如果只想使用颜色而不是drawable,可以在res文件夹下添加color子文件夹,在color文件夹下添加gridview_highlight_selector.xml以下内容,调用imageView.setBackgroundResource(R.color.gridview_highlight_selector);在您的代码中:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="true" android:color="#ffff" />
        <item android:color="#ff3697de" />
    </selector>
    

    【讨论】:

    • 感谢您的回答,但这会改变项目背景的状态,并且橙色高亮不会消失...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 2011-02-02
    • 2011-09-01
    • 1970-01-01
    • 2012-10-24
    • 2013-02-02
    • 2023-03-19
    相关资源
    最近更新 更多