Pri*_*off 0 xml android relativelayout android-layout
在这个布局中,我有两个视图 - 右下角的ImageButton和中间底部的TextView.当android:visibility两个视图都设置为visible- 时,所有视图都根据需要对齐.但是,如果我将android:visibilityImageButton 设置为gone- EditText转到布局的左边缘.
问题:
1)为什么会这样??
2)如何实现不改变EditText设置ImageButton可视性的地方gone?我需要获得与左图相同的布局(见下文),但没有ImageButton.(我知道,一种可能性是设置visibility不gone,但是invisible,但我对解决方案更感兴趣visibility = "gone")
Ps:前两个布局 - RelativeLayout并且FrameLayout是强制性的 - 它们用于其他东西,我刚刚删除了与问题无关的所有内容.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/mForSearchFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/mForAdMediation"
android:layout_alignWithParentIfMissing="true" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<EditText
android:id="@+id/mSearchEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:ems="5"
android:imeOptions="actionSearch"
android:inputType="text"
android:visibility="visible" >
<requestFocus />
</EditText>
<ImageButton
android:id="@+id/mSearchButton"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/dark_button"
android:src="@drawable/tab_search"
android:visibility="visible" />
</RelativeLayout>
</FrameLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
这是布局:

问题是您的内部RelativeLayout位于FrameLayout内部,该FrameLayout设置为宽度的wrap_content.因此,当ImageView消失时,RelativeLayout的宽度会缩小到EditText的宽度.因此,EditText仍然在RelativeLayout中居中,但RelativeLayout仅与EditText一样宽.
也许你可以简化这样的布局?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<EditText
android:id="@+id/mSearchEditText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:ems="5"
android:imeOptions="actionSearch"
android:inputType="text"
android:visibility="visible" >
<requestFocus />
</EditText>
<ImageButton
android:id="@+id/mSearchButton"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/dark_button"
android:src="@drawable/tab_search"
android:visibility="visible" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10788 次 |
| 最近记录: |