我有一个xml文件,我从java端管理framelayout的可见性。 xml在linearlayout上有2个framelayout作为按钮。方向是horizental。一旦我隐藏了右边的第一个按钮,左边的一个按住了他的位置,但它应该向右移动。
任何想法如何解决这个问题?
这是我的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);
}
});
}
答案 0 :(得分:1)
似乎在点击按钮并设置您使用View.INVISIBLE
的可见性时,请尝试使用View.GONE
。
答案 1 :(得分:0)
它使用了两种方法来进入不可见的实体..
android:visibility="invisible"
或将重力设置为如下布局..
android:layout_gravity="left"
android:layout_gravity="right"
两个帧布局都因为删除了所有空格而且不可见只隐藏视图但空间仍然存在。