这是我的主要.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="5dip"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@color/mbackground1"
android:gravity="center_horizontal"
android:text="@string/decode_label"
android:padding="5dip"
/>
<TextView
android:id="@+id/mytext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:background="@color/mbackground2"
android:textColor="@color/mytextcolor"
android:padding="5dip"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/continue_label"
android:gravity="center_horizontal"
android:textColor="@color/mytextcolor"
android:padding="5dip"
/>
<Button
android:id="@+id/webbutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/web_button"
android:textColor="@color/mytextcolor"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/continue_label1"
android:gravity="center_horizontal"
android:textColor="@color/mytextcolor"
android:padding="5dip"
/>
<Button
android:id="@+id/callbutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/call_button"
android:textColor="@color/mytextcolor"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/continue_label2"
android:gravity="center_horizontal"
android:textColor="@color/mytextcolor"
android:padding="5dip"
/>
<Button
android:id="@+id/emailbutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/sendemail_button"
android:textColor="@color/mytextcolor"
/>
</LinearLayout>
我希望基于运行时的输出,它应该只显示一个与该输出对应的textview和按钮。我在main.xml文件中定义布局,我也在这个领域。
任何人都有任何想法。 提前谢谢
答案 0 :(得分:12)
我假设您知道如何获得对您定义的视图的引用,例如:
Button button = (Button)findViewById(R.id.emailbutton)
您需要为代码中要使用的每个视图定义一个id,就像您对email按钮所做的那样:
android:id="@+id/emailbutton"
要设置您调用的视图的可见性:
button.setVisibility(View.GONE);
您可以选择将展示次数设置为INVISIBLE
和VISIBLE
。
然后,您可以随意使用可见性。
INVISIBLE
和GONE
之间的区别在于GONE
从布局中完全删除了视图,而INVISIBLE
“保存”了此视图所占用的空间。
您可以在API示例中看到。
答案 1 :(得分:6)
要在java代码中删除您的视图:
Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.GONE);
在java代码中透明您的视图:
Button btn=(Button)findViewById(R.id.btn);
btn.setVisibility(View.INVISIBLE);
要在Xml文件中删除您的视图:
<yourView
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"/>
Xml文件中的透明按钮:
<yourView
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="invisible"/>
答案 2 :(得分:1)
使视图可见或不可见试试这个:
yourView.setVisibility(View.GONE);
yourView.setVisibility(View.VISIBLE);
答案 3 :(得分:1)
使用textView.setVisibility(View.GONE); - 使View Gone和textView.setVisibility(View.INVISIBLE); - 使视图无形
答案 4 :(得分:0)
可以使用View.setVisibility()
方法更改视图的可见性,请查看此link以获取更多信息。希望这会有所帮助。
答案 5 :(得分:0)
按ID获取视图并使其不可见。例如,对于“mytext”TextView:
TextView my = (TextView) findViewById(R.id.mytext); // Get the view you want to manipulate
my.setVisibility(View.INVISIBLE); // Make it invisible
my.setVisibility(View.VISIBLE); // Make it visible again