Android 仅包装可见内容
我有这样的看法:Android 仅包装可见内容,android,android-layout,Android,Android Layout,我有这样的看法: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:descendantFocusability="blocksDes
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:descendantFocusability="blocksDescendants">
<LinearLayout
android:id="@+id/ll1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toStartOf="@+id/ll2"
android:layout_alignParentStart="true">
<TextView android:id="@android:id/text1"
android:textSize="16sp"
android:textStyle="bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@android:id/text2"
android:textSize="16sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/text3"
android:textSize="16sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll15"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toStartOf="@id/ll2">
<ImageView
android:id="@+id/rc_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_rc_flag"
android:contentDescription="@string/view_only_content_description"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true">
<ImageButton
android:id="@+id/view_only_event_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_visibility_black_24dp"
android:contentDescription="@string/view_only_content_description"
android:visibility="invisible" />
<ImageButton
android:id="@+id/delete_event_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_delete_black_24dp"
android:contentDescription="@string/delete_content_description"
android:visibility="invisible" />
</LinearLayout>
</RelativeLayout>
通过java代码,我可以看到这些图像和图像按钮:
- @+id/rc_图标
- @+id/仅查看事件按钮
- @+id/删除事件按钮
有可能吗?问题在这里,而不是看不见的你应该使用gone就是这样
android:visibility="invisible"
换成
android:visibility="gone"
消失值从父视图中移除占用的空间及其自身视图,不可见使其隐藏,但占用的空间保持不变
阅读更多要使按钮在不可见时不被占用布局,您应该将可见性设置为
消失(查看。消失
),而不是不可见
您需要使视图的可见性消失,而不是像这样不可见:-
我在用你的代码,看看这个
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:descendantFocusability="blocksDescendants">
<LinearLayout
android:id="@+id/ll1"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_toStartOf="@+id/ll2"
android:layout_alignParentStart="true">
<TextView android:id="@android:id/text1"
android:textSize="16sp"
android:textStyle="bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@android:id/text2"
android:textSize="16sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/text3"
android:textSize="16sp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:id="@+id/ll15"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toStartOf="@id/ll2">
<ImageView
android:id="@+id/rc_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_rc_flag"
android:contentDescription="@string/view_only_content_description"
android:visibility="visible" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll2"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true">
<ImageButton
android:id="@+id/view_only_event_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_visibility_black_24dp"
android:contentDescription="@string/view_only_content_description"
android:visibility="gone" />
<ImageButton
android:id="@+id/delete_event_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_delete_black_24dp"
android:contentDescription="@string/delete_content_description"
android:visibility="gone" />
</LinearLayout>