【发布时间】:2018-11-26 23:14:54
【问题描述】:
我有一个 xml 文件,我在其中管理 java 端的框架布局的可见性。 xml 有 2 个框架布局作为线性布局上的按钮。方向是水平的。一旦我隐藏了右边的第一个按钮,左边的按钮就会留在他的位置,但它应该向右移动。
任何想法如何解决这个问题?
这是我的 xml 代码:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="bottom|end">
<FrameLayout
android:id="@+id/btn1"
android:layout_width="75dp"
android:layout_height="75dp"
android:background="@drawable/float_button"
android:visibility="gone">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:id="@+id/icon2" />
</FrameLayout>
<FrameLayout
android:id="@+id/btn2"
android:layout_width="75dp"
android:layout_height="75dp"
android:background="@drawable/float_button"
android:visibility="gone">
<ImageView
android:layout_width="25dp"
android:layout_height="25dp"
android:layout_gravity="center"
android:id="@+id/icon1"
>
</ImageView>
</FrameLayout>
</LinearLayout>
我的java代码:
@Override
public void notifyLayoutReady() {
mHandler.post(new Runnable() {
@Override
public void run() {
if (showUserOption("option1"))
mBtn1.setVisibility(View.VISIBLE);
if (showUserOption("option2"))
mBtn2.setVisibility(View.VISIBLE);
}
});
}
【问题讨论】:
-
使用 else 语句再次隐藏该视图 if (showUserOption("option1")) mBtn1.setVisibility(View.VISIBLE); else{mBtn1.setVisibility(View.GONE);} if (showUserOption("option2")) mBtn2.setVisibility(View.VISIBLE); else{mBtn2.setVisibility(View.Gone);}
标签: android visibility android-framelayout