我正在开发一个具有背景照片的 android 应用程序,所以我决定让我的 listView 或 recyclerView 透明以显示这些背景,除了棒棒糖版本之外,一切都很好!
我想制作棒棒糖版本,就像所有以前的版本一样,比如 kitkat 这里是我用来设置每个项目透明度的代码片段
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder mHolder;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.dairy_item, parent, false);
CardView listItem = (CardView) convertView.findViewById(R.id.dairy_card);
listItem.setCardElevation(5);
listItem.setUseCompatPadding(true);
// listItem.setPadding(0, 0, 5, 6);
listItem.setPreventCornerOverlap(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
Drawable mBackground = listItem.getBackground();
mBackground.setAlpha(127);
listItem.setBackground(mBackground);
} else {
listItem.getBackground().setAlpha(127);
}
mHolder = new ViewHolder();
mHolder.typeIcon = (ImageView) convertView.findViewById(R.id.reminder_icon);
mHolder.title = (TextView) convertView.findViewById(R.id.reminder_identifier);
mHolder.subtitle = (TextView) convertView.findViewById(R.id.reminder_status);
mHolder.time = (TextView) convertView.findViewById(R.id.item_time);
mHolder.order = (TextView) convertView.findViewById(R.id.item_order);
convertView.setTag(mHolder);
} else
mHolder = (ViewHolder) convertView.getTag();
mHolder.typeIcon.setImageResource(imgRec[position]);
mHolder.title.setText(title[position]);
mHolder.subtitle.setText(subtitle[position]);
String orders = String.valueOf(position + 1);
if (SettingsFragment.isArabic(mContext))
orders = Referances.ArabtizeDigits(mContext, orders);
mHolder.order.setText(orders);
mHolder.time.setText(time[position]);
return convertView;
}
来自我自己的 listView 适配器。提前致谢 ....