0

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

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

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

有趣的是,我的朋友rowView.setAlpha(-80)在 min sdk 8,target 16 中尝试过,它运行良好,但它无法在我的 min sdk 9,target 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);
4

1 回答 1

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);
于 2012-11-23T08:51:58.877 回答