2 songbo pp songbo_pp 于 2016.03.10 09:28 提问

android listView 在代码中设置item半透明? 1C

金币不够了。
美工在列表中做了一些蒙版透明,根据数据的状态,设置是否为半透明。请问这个在代码中如何动态实现?

7个回答

u011249920
u011249920   2016.03.10 09:35

详情请看这篇博客《 Android设置透明、半透明等效果》http://2960629.blog.51cto.com/2950629/742499

u011249920
u011249920 你能把你的log和相关部分的代码贴出来吗?
2 年多之前 回复
songbo_pp
songbo_pp holder.llItem = (LinearLayout) convertView.findViewById(R.id.llItem); holder.llItem.getBackground().setAlpha(100); 这个我试过了,报空指针异常,在getItemView方法中调用的。
2 年多之前 回复
bdmh
bdmh   Ds   Rxr 2016.03.10 09:38

动态设置背景色就行,颜色的最前面两位就是透明度,ff表示不透明,比如 ff666666,其中666666是颜色,ff是透明度

songbo_pp
songbo_pp holder.llItem.setBackgroundColor(0x7f000000); 不起作用。问下linearLayout里还有很多控件textView button,光设置linearLayout的透明度可以全部都透明么?
2 年多之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2016.03.10 09:42

如果是数据显示,不是根据事件实现半透明。那可以在adapter的getview中根据数据状态判断,设置item的颜色
示例如下

public View getView(int position, View convertView, ViewGroup parent) {
 if(convertView ==null)
 {
     convertView = LayoutInflater.from(context).inflate(R.layout.listitem, null);
 }
 if(数据状态==xxxx){
 convertView.setBackgroundResource(R.drawable.selector);
 }
 }
danielinbiti
danielinbiti 回复songbo_pp: 放在内部,一屏幕后,滚动时,显示就和当前屏幕一样了,不会变。另外,你这也没有根据数据状态变的判断
2 年多之前 回复
danielinbiti
danielinbiti 回复songbo_pp: convertView.setBackgroundResource(R.drawable.myasset_shape_press);这句话不能放到if(==null)这个判断内
2 年多之前 回复
songbo_pp
songbo_pp 已经贴了
2 年多之前 回复
danielinbiti
danielinbiti 回复songbo_pp: 最好把你的getview代码贴出来
2 年多之前 回复
songbo_pp
songbo_pp 刚才试了,怎么没变化。
2 年多之前 回复
c1398943612
c1398943612   2016.03.10 09:55

动态更改背景色ARGB值,A就是透明度0~FF 数值越小越透明

songbo_pp
songbo_pp   2016.03.10 10:15
protected View getItemView(View convertView, final int position) {
    final ViewHolder holder;
    if (convertView == null) {
        holder = new ViewHolder();
        convertView = mInflater.inflate(R.layout.prd_p2p_list_item, null);
        convertView.setBackgroundResource(R.drawable.myasset_shape_press);
        holder.llItem = (LinearLayout) convertView.findViewById(R.id.llItem);
        holder.rl_logo = (RelativeLayout) convertView.findViewById(R.id.rl_logo);
        holder.tv_prd_desc = (TextView) convertView.findViewById(R.id.tvPrdDesc);
        holder.pbProgress = (ProgressBar) convertView.findViewById(R.id.pbProgress);
        convertView.setTag(holder);
    } else {
        holder = (ViewHolder) convertView.getTag();
    }

    final Result res = mValues.get(position);
    holder.tvShowTitle1.setText(res.getShowTitle1());
    holder.tvShowValue1.setText(res.getShowValue1());
}
songbo_pp
songbo_pp   2016.03.10 10:17

我的表达有问题,不是ListView的item的背景透明,而是整个item半透明,包括里面的文字按钮。我想到的可能做法是,在item上覆盖一个透明的图片,不知道是否可行?

dongfeng9ge
dongfeng9ge   Ds   Rxr 2016.04.30 15:39

ARGB的前两位设置为88

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
listview item背景设置为透明
<br />     在android开发中,listview的默认背景颜色是黑色的,所以在UI设计中,肯定会对它进行美化处理,尤其是在游戏开发中。最近在做用户聊天框的时候遇到一个这样的问题,我把显示用户聊天记录的listview背景设置成白色的,看起来没有什么问题,但是当我滚动滚动条的时候,有内容的listitem全部变成黑色的了,效果很不好。<br />     google了一下,原因是:默认的ListView的背景是透明的,而ListView的背景是固定不变的,所以当我滚动滚动条的时候,会实时地去将
android listview设置选中时的item的背景色
今天实在不知道写些什么内容,所以自己在网上找了些资料,觉得还可以,所以还是写一下,觉得每天写些东西的习惯不能荒废。 默认情况下使用ListView背景色是黑色,选中item的高亮颜色是菊黄色,很多时候不得不自己定义背景色或者背景图 android:cacheColorHint="@android:color/transparent",意思为去黑色底色,比如ListView滚动时会刷新界面,默认
android 关于listview item设置高度的问题解决方法
android 关于listview item设置高度的问题解决方法
Android设置Listview每个item的间距
设置listView的item间距,可以在xml布局文件中的listView下设置xml属性: android:divider="#00000000" android:dividerHeight="18dp" 解释:先设置分隔线透明,再设置分割线高度为18dp。
Android ListView 设置选中item高亮状态
以前没有怎么在意listview设置选中状态这个问题.但是真当想用的时候,实实在在的发现了一些问题 本来以为只要简单的写个颜色 selector就可以达到目的.后来发现的确是错了 先说下我走过的弯路,本来以为listview的setSelection方法就能把该item设置为选中的高亮状态.没想到这个方法 仅仅只是把该项滑动到屏幕的最顶端而已 先把颜色 selector 以及布局贴一下
Android ListView item背景图片显示方式
首先:定义背景选择器 a.xml           然后对item的布局xml文件中设置item的背景 b.xml,该文件非含有ListView控件的主布局界面,而是对ListView中第一个item进行布局的布局界面。     android:layout_width="match_parent"     android:layout_height
android ListView的item侧滑删除
首先看一下效果图,有个直观认识 主要功能就是ListView的item可以侧滑,出来一个删除按钮,点击delete就删除该item。这是一个相对比较综合的例子,来看看动手之前需要准备哪些知识。 1. 对自定义View要有一定的知识基础 2. 事件的拦截以及反拦截的相关知识,以便很好的解决事件冲突问题,关于事件机制,可以参看android事件处理机制 3. 滑动器Scroller的使用
设置ListView item间距
默认ListView的item之间间距是为0的,想要设置ListView的间距可以使用如下语句: android:divider="@android:color/transparent" android:dividerHeight="20sp"这样设的原理是首先把ListView item之间的分割线颜色设置为透明,然后设置分割线的高度实现的。 所以这样设置之后ListView默认的分割线也会
android listview item背景色设置【附带源码】
大家在android 项目开发中,基本都会用到ListView这个控件,我抽空写了下listView item点击的效果实例 对于listView的基本常用属性,可以参考博客“android listview常用属性设置详解”相关的内容。 实现效果如下: 默认情况显示下图 点击列表时显示下图: 实现流程如下: 1:布局文件activity_main.xml <Rela
Android:ListView设置item点击背景效果
背景交代 项目中有一个ListView,并且设置了onItemClickListener,当点击item的时候跳转到另一个Fragment,我仅仅在跳转前加了一个if判断之后,点击效果背景色居然变了!!!。我删除判断后,还是不行啊,可是项目急着上线,要想保持原来的点击效果背景色,只能使用selector了。