即使设置为可见,Google Map v2 ImageView仍然不可见

时间:2013-04-11 16:07:56

标签: android imageview

我需要根据用户的行为显示和隐藏ImageView。我将ImageView设置为onCreate()中不可见,当用户选择OptionsMenu中的项目时,我会尝试再次显示它。奇怪的是它根本没有显示,只会在活动恢复后显示。

以下是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>

1 个答案:

答案 0 :(得分:0)

这是因为你正在绘制一个透明的矩形:

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

您是否看到正在绘制边框?

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