我正在开发一个 Android 应用程序,但我还是个新手。我想要一个按钮,当你按下那个按钮时,会出现一些 TextViews 和 Buttons。所以我有一个主要的线性布局,然后另一个线性布局嵌套在里面,包含我想要隐藏的东西。我将嵌套的线性布局设置为 android:visibility="gone"。
我遇到的问题是它只显示隐藏线性布局中的第一个项目,而不是所有项目。我试图让它出现的方式是
vgAddView = (ViewGroup)findViewById(R.id.add_details);
btnAche.setOnClickListener(new OnClickListener(){
public void onClick(View v){
vgAddView.setVisibility(0);
}
});
Run Code Online (Sandbox Code Playgroud)
我的 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"
>
<Button
android:text="@string/but_stomach_ache"
android:id="@+id/but_stomach_ache"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
<Button
android:text="@string/but_food"
android:id="@+id/but_food"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/add_details"
android:visibility="gone">
<TextView
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/when_happen">
</TextView>
<Button
android:text="@string/happen_now"
android:id="@+id/happen_now"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</Button>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
您的TextView
inLinearLayout
设置为android:layout_width="fill_parent"
and android:layout_height="fill_parent"
,这意味着它将占据 the 的整个空间LinearLayout
,而没有空间给 the Button
。如果您使用hierarchyviewer
SDK 附带的工具,您可以在查看活动时看到这一点。
您需要将 的高度设置TextView
为wrap_content
或以其他方式为Button
.
归档时间: |
|
查看次数: |
4548 次 |
最近记录: |