金币不够了。
美工在列表中做了一些蒙版透明,根据数据的状态,设置是否为半透明。请问这个在代码中如何动态实现?
详情请看这篇博客《 Android设置透明、半透明等效果》http://2960629.blog.51cto.com/2950629/742499
动态设置背景色就行,颜色的最前面两位就是透明度,ff表示不透明,比如 ff666666,其中666666是颜色,ff是透明度
如果是数据显示,不是根据事件实现半透明。那可以在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);
}
}
动态更改背景色ARGB值,A就是透明度0~FF 数值越小越透明
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());
}
我的表达有问题,不是ListView的item的背景透明,而是整个item半透明,包括里面的文字按钮。我想到的可能做法是,在item上覆盖一个透明的图片,不知道是否可行?
ARGB的前两位设置为88