gpt4 book ai didi

java - 在RelativeLayout中使单个View可见

转载 作者:行者123 更新时间:2023-12-02 10:34:39 27 4
gpt4 key购买 nike

我有一个RelativeLayout,其中包含一个包含2个按钮的LinearLayout。我想让这些按钮可见,而不使整个RelativeLayout 或LinearLayout 可见。调试时,按钮的 getVisibility 报告可见,并且 getLocationOnScreen 返回正确的位置,但我看不到它们。这是我的 xml

<RelativeLayout
android:id="@+id/edit_div_element"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:padding="20dp"
android:background="@drawable/full_popup_element"
android:layout_alignParentBottom="true"
android:visibility="gone"
android:layout_centerVertical="true"
android:clickable="false">

<ImageView
android:id="@+id/close_edit"
android:src="@drawable/view_edge_promotion_close_icon"
android:layout_gravity="right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:tint="@color/uniform_style_blue"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="-10dp"/>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/popup_name_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/close_edit"
android:orientation="horizontal" >

<TextView
android:id="@+id/popup_name_label"
android:text="@string/popup_name_label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textStyle="bold"
android:textSize="@dimen/font_size_fixed_16" />

<EditText
android:id="@+id/popup_name"
android:hint=""
android:layout_width="170dp"
android:layout_height="wrap_content"
android:inputType="textCapWords"
android:singleLine="true"
android:textSize="18sp"
android:layout_marginLeft="15dp"
android:paddingBottom="2dp"
android:paddingLeft="@dimen/marginSmall" />

</LinearLayout>

<TextView
android:id="@+id/popup_assignment_label"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/edit_assignment_label"
android:layout_below="@id/popup_name_container"
android:layout_marginTop="20dp"/>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:layout_below="@id/popup_assignment_label"
android:gravity="bottom"
>

<android.support.v7.widget.RecyclerView
android:id="@+id/popup_assignment_recycler"
android:layout_width="180dp"
android:layout_height="wrap_content"
android:focusable="false"
android:clickable="false"/>


<Button
android:id="@+id/btn_1"
android:text="@string/clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/popup_assignment_recycler"
android:layout_alignParentRight="true"
android:gravity="bottom"
android:padding="6dp"
android:maxLines="1"
android:background="@color/uniform_style_blue"
android:textColor="#FFFFFF"
android:layout_marginLeft="18dp"
/>
<Button
android:id="@+id/btn_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/btn_1"
android:layout_alignParentRight="true"
android:gravity="bottom"
android:padding="6dp"
android:maxLines="1"
android:background="@color/uniform_style_blue"
android:textColor="#FFFFFF"
android:layout_marginLeft="9dp"
/>
</LinearLayout>

</RelativeLayout>

我正在使用

设置可见性
Button mBtn1 = findViewById(R.id.btn_1);
mBtn1.setVisibility(View.VISIBLE);
Button mBtn2 = findViewById(R.id.btn_2);
mBtn2.setVisibility(View.VISIBLE);

我还尝试在 xml 中将relativelayout的可见性定义为INVISIBLE,但仍然没有成功。

是否可以只显示按钮?我很困惑,所以非常感谢您的帮助!

最佳答案

您已将按钮放置在布局内。如果整个父 View 都是不可见的,那么所有 subview 也是不可见的。如果您只想显示按钮,则必须使相对布局可见、线性布局可见,然后使按钮可见。如果您不想显示布局的所有其他内容(使其不可见),您还可以隐藏它。

将父 subview 视为盒子。您的按钮 - 是小盒子,它们放置在其他更大的盒子内部,这是父线性布局。如果不先打开大(父)盒子,则无法打开小盒子。

关于java - 在RelativeLayout中使单个View可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53381615/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com