安卓在适配器里面设置屏幕透明度

怎么才能在适配器里面得到getWindow方法啊传个context不行 又不能传getActivity
怎么才能拿到给getWindow..getAttributes()
public void backgroundAlpha(float bgAlpha)
{
WindowManager.LayoutParams lp =getWindow().getAttributes();
lp.alpha = bgAlpha; //0.0-1.0
getWindow().setAttributes(lp);
}

1个回答

把Activity对象作为参数传过去啊。。在adapter的构造方法里面加上Activity参数啊
getWindow()是Activity类的方法。

/**
 * Retrieve the current {@link android.view.Window} for the activity.
 * This can be used to directly access parts of the Window API that
 * are not available through Activity/Screen.
 *
 * @return Window The current window, or null if the activity is not
 *         visual.
 */
public Window getWindow() {
    return mWindow;
}

例子:
Class TestActivity:
...
TestAdapter adapter = new TestAdapter(this);
...

Class TestAdapter:
...
Activity mActivity;
TestAdapter(Activity activity){
mActivity = activity;
}
...
public void backgroundAlpha(float bgAlpha)
{
WindowManager.LayoutParams lp =mActivity.getWindow().getAttributes();
lp.alpha = bgAlpha; //0.0-1.0
getWindow().setAttributes(lp);
}
...

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!