WindowManager 中类型为 RGBA_8888 ImageView 的不可见视图
invisible view in WindowManager with type RGBA_8888 ImageView
我经常使用属性,但是这次不是work.If去掉属性,我可以看到视图,一切正常。有人知道我错过了什么吗?
我的代码:
private boolean loadingDirect=false;
private void addLoading(){
loadingImg= new ImageView(mContext);
android.view.WindowManager.LayoutParams viewParams = new android.view.WindowManager.LayoutParams();
viewParams.x=0;
viewParams.y=0;
viewParams.width=600;
viewParams.height=600;
// viewParams.type=PixelFormat.RGBA_8888;
loadingImg.setImageResource(R.drawable.notice_loading);
loadingImg.setVisibility(View.VISIBLE);
loadingDirect=true;
loadingImg.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
if(loadingDirect){
Matrix matrix = new Matrix();
matrix.setRotate(180);
BitmapDrawable draw = (BitmapDrawable) mContext.getResources().getDrawable(R.drawable.notice_loading);
Bitmap bitmap= draw.getBitmap();
bitmap=Bitmap.createBitmap(bitmap,0, 0, bitmap.getWidth(),bitmap.getHeight(),matrix,true);
loadingImg.setImageBitmap(bitmap);
loadingDirect=false;
}else{
loadingImg.setImageResource(R.drawable.notice_loading);
loadingDirect=true;
}
}
});
try{
mWindowManager.addView(loadingImg, viewParams);
}catch(Exception e){
Log.d("NoticeBoardERROR", "addLoading");
}
}
请看http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html
您的 viewParams.type 不需要 PixelFormat。RGBA_8888 或 PixelFormat.whatever;您的代码编译只是因为它们实际上是 int 数字。但这不是预期的行为。
我经常使用属性,但是这次不是work.If去掉属性,我可以看到视图,一切正常。有人知道我错过了什么吗? 我的代码:
private boolean loadingDirect=false;
private void addLoading(){
loadingImg= new ImageView(mContext);
android.view.WindowManager.LayoutParams viewParams = new android.view.WindowManager.LayoutParams();
viewParams.x=0;
viewParams.y=0;
viewParams.width=600;
viewParams.height=600;
// viewParams.type=PixelFormat.RGBA_8888;
loadingImg.setImageResource(R.drawable.notice_loading);
loadingImg.setVisibility(View.VISIBLE);
loadingDirect=true;
loadingImg.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
if(loadingDirect){
Matrix matrix = new Matrix();
matrix.setRotate(180);
BitmapDrawable draw = (BitmapDrawable) mContext.getResources().getDrawable(R.drawable.notice_loading);
Bitmap bitmap= draw.getBitmap();
bitmap=Bitmap.createBitmap(bitmap,0, 0, bitmap.getWidth(),bitmap.getHeight(),matrix,true);
loadingImg.setImageBitmap(bitmap);
loadingDirect=false;
}else{
loadingImg.setImageResource(R.drawable.notice_loading);
loadingDirect=true;
}
}
});
try{
mWindowManager.addView(loadingImg, viewParams);
}catch(Exception e){
Log.d("NoticeBoardERROR", "addLoading");
}
}
请看http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html
您的 viewParams.type 不需要 PixelFormat。RGBA_8888 或 PixelFormat.whatever;您的代码编译只是因为它们实际上是 int 数字。但这不是预期的行为。