android 2.3.3的Android setVisibility问题

时间:2012-04-03 07:22:22

标签: android layout view

只是一个直截了当的问题。我有一个LinearLayout,其中包含xml android:visibility="invisible"中的属性。在代码中我使用的是layout.setVisibility(View.VISIBLE);。它适用于Android 2.2,即在Android 2.3.3中可见但无法工作,即无法显示。

<LinearLayout
      android:id="@+id/menuLayout"
      android:layout_height="wrap_content"
      android:layout_width="fill_parent"
      android:layout_gravity="bottom"
      android:gravity="center_horizontal|center_vertical"
      android:background="#60000000"
      android:visibility="invisible">
      <Button 
          android:id="@+id/restartSamePlayer"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="Play Again"
          android:onClick="clearCanvas"
          />
      <Button 
          android:id="@+id/restartNewPlayer"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="New Player"
          android:onClick="findNewPlayer"
          />      
  </LinearLayout>

 menuLayout = (LinearLayout) activity.findViewById(R.id.menuLayout);
      if(menuLayout == null)
        System.out.println("Null");
      menuLayout.setVisibility(View.VISIBLE);
      if(menuLayout.getVisibility() == View.VISIBLE)
        System.out.println("Visible");

在我的日志中,我可以看到可见但在具有2.3.3的模拟器中无法看到

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

试试此代码

 android:visibility="gone"

答案 1 :(得分:0)

menuLayout = (LinearLayout) activity.findViewById(R.id.menuLayout);

将其更改为

menuLayout = (LinearLayout)findViewById(R.id.menuLayout);

现在试试吧