安卓在适配器里面设置屏幕透明度
问题描述:
怎么才能在适配器里面得到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);
}
答
把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);
}
...