谷歌地图v2即使设置为可见,ImageView仍然不可见

问题描述:

我需要根据用户的行为显示和隐藏ImageView。我将ImageView设置为在onCreate()中不可见,我尝试在用户选择OptionsMenu中的某个项目时再次使其可见。奇怪的是,它并没有显示出来,只会在活动恢复后才会显示出来。谷歌地图v2即使设置为可见,ImageView仍然不可见

下面是XML代码:

<ImageView 
    android:id="@+id/rectimage" 
    android:layout_width="20dp" 
    android:layout_height="20dp" 
    android:src="@drawable/rect" /> 

哪里躲imageview的

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.main); 

    image = (ImageView) findViewById(R.id.rectimage); 
    image.setVisibility(View.INVISIBLE); 
} 

在哪里我试图使它再次可见

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) {    
    case R.id.menu_visible: 
     image.setVisibility(View.VISIBLE);   
    return true; 
    } 
    return false; 
} 

这里是在onStart和的onResume,不做任何事情。

@Override 
protected void onStart() { 
    super.onStart(); 
    Log.w(TAG, "-- ON Start --"); 

} 

@Override 
public void onResume() { 
    super.onResume(); 
    Log.w(TAG, "-- ON Resume --"); 
} 

这里是我的XML绘制资源

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 
<solid android:color="@android:color/transparent"/> 
<corners android:radius="20px"/> 
<stroke android:width="2dip" android:color="#000000"/> 
</shape> 
+4

发布您隐藏和显示ImageView的代码。 – Sam 2013-04-11 16:09:37

+0

@Sam我有更新我的问题 – 2013-04-11 16:15:53

+0

你可以发布onResume()? – gatnowurry 2013-04-11 16:19:36

这是因为你是画一个矩形透明:

<solid android:color="@android:color/transparent"/> 

你看到的边界正在制定?

此外,您是否尝试在onOptionsItemSelected中设置断点以确保它被调用?

+0

我prettry确定这不是问题。透明只会让我的形象在中间镂空。它仍然会显示行 – 2013-04-11 16:38:35

+0

但它有角 – Pragnani 2013-04-11 16:38:58

+0

ImageView只绘制你告诉它。你告诉它绘制的唯一东西是一个透明的矩形。没有设置背景,所以它唯一知道的就是你设置的'src'。 – 2013-04-11 16:40:20