2012-05-21 88 views
2

在我的应用程序的主页中,服务器向我发送了一些标志。其中一个是广告标志。如果它设置为true,我需要显示广告,如果它设置为false,我不应该显示它。Android,如何从UI中删除视图?

现在,这个问题。我需要像这样在XML文件中放置广告空间。

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 


<RileativeLayout 
    android:id="@+id/adv" 
    android:layout_width="fill_parent" 
    android:layout_height="100dip"> 

</RileativeLayout> 

. 
. 
. 
</LinearLayout > 

根据上面的代码,如果该标志被设置为false,我没有表现做广告,但差距仍然留在我的屏幕上。如何动态地从我的代码中删除它,并将其他视图(这是它的影响)向上移动?

+4

view.setVisibility(View.GONE) –

+1

这将做的工作'findViewById(R.id.adv).setVisibility(View.GONE);' –

回答

2

如上面为您的问题的意见中提到:一个视图有几个不同的视图选项。

  • View.VISIBLE:这意味着它是可见的,可以由用户看到。

  • View.INVISIBLE:这意味着视图仍在布局中,但用户无法看到(用户无法与之交互)。

  • View.GONE:这意味着视图被破坏,不再是它的一部分。

从你应该使用View.GONE,如果你要使其可见,你应该使用View,INVISIBLE布局完全删除视图。

1

试试这个当你的标志是假的

add.setVisibility(View.GONE); 
1

通过改变它的知名度可以“删除”的观点。使用

View ad = findViewById(R.id.adv); 
ad.setVisibility(View.GONE);