为什么setAlpha在min sdk 8中工作,但是不能在min sdk 9上工作?

时间:2012-11-23 04:49:41

标签: android android-2.2-froyo android-sdk-2.3

我正在尝试将Alpha设置为我的rowView,但我收到一条错误消息,说我需要最少的sdk 11.

View rowView = inflater.inflate(R.layout.main, parent, false);

嗯,我知道解决这个问题的方法之一是将我的最小sdk更改为11,但我不想,因为我需要最小的sdk为8/9。

有趣的是,我的朋友在min sdk 8中尝试rowView.setAlpha(-80),目标16,它运行良好,但它无法在我的运行中运行,这是min sdk 9,目标16。

我尝试用rowView.getBackground().setAlpha(-80)解决问题,但没有alpha效果。

有人可以告诉我为什么它在sdk 8中工作,但不是9?什么可能是错的?

*更新

LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View rowView = inflater.inflate(R.layout.knowledge_main, parent, false);
TextView textView = (TextView) rowView.findViewById(R.id.label);

1 个答案:

答案 0 :(得分:0)

在充气时,

可能有些问题,两个代码都运行良好

    View mView = getLayoutInflater().inflate(R.layout.activity_main, null);
    mView.setBackground(getResources().getDrawable(R.drawable.ic_launcher));
    setContentView(mView);
    mView.getBackground().setAlpha(-160);


    View mView2 = (View)((LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.activity_main, null);
    mView2.setBackground(getResources().getDrawable(R.drawable.ic_launcher));
    setContentView(mView2);
    mView2.getBackground().setAlpha(-160);