Android RelativeLayout 和 layout_width ="match_parent"的 child

标签 android width match parent android-relativelayout

当我在同一“行”有两个 View,一个 width="fill_parent"时,Android 如何计算 View 的大小?

例子:

<RelativeLayout  
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_height="fill_parent"  
    android:layout_width="fill_parent">  
    <EditText  
        android:id="@+id/EditText01"  
        android:hint="Enter some text..."  
        android:layout_alignParentLeft="true"  
        android:layout_width="match_parent"  
        android:layout_toLeftOf="@+id/Button01"  
        android:layout_height="wrap_content"></EditText>  
    <Button  
        android:id="@+id/Button01"  
        android:text="Press Here!"  
        android:layout_width="wrap_content"  
        android:layout_alignParentRight="true"  
        android:layout_height="wrap_content"></Button>  
</RelativeLayout>

此代码为 EditText 提供所有可用空间,并在其右侧显示按钮。但是随着这个改变,EditText 填充了所有的宽度并且按钮在屏幕之外:

<RelativeLayout  
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_height="fill_parent"  
    android:layout_width="fill_parent">  
    <EditText  
        android:id="@+id/EditText01"  
        android:hint="Enter some text..."  
        android:layout_alignParentLeft="true"  
        android:layout_width="match_parent"  
        android:layout_height="wrap_content"></EditText>  
    <Button  
        android:id="@+id/Button01"  
        android:text="Press Here!"  
        android:layout_width="wrap_content"  
    android:layout_toRightOf="@+id/EditText01"
        android:layout_height="wrap_content"></Button>  
</RelativeLayout

最佳答案

android:layout_toLeftOf="@+id/Button01"将强制 EditText 的右边界与 Button 的左侧对齐, 因此 Android 会忽略 match_parent width 强制宽度只填充从左父侧到按钮的右侧。

android:layout_toRightOf="@+id/EditText01"将强制 Button 的左边界与 EditText 的右侧对齐, 但由于 EditTextmatch_parent右侧的宽度与父 View 的右侧对齐,Android 将强制按钮离开屏幕。

关于Android RelativeLayout 和 layout_width ="match_parent"的 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16545633/

相关文章:

java - 字符串模式检测

java - 安卓打开下载的文件

java - Android-Visual Studio 中支持 Java 到 C# 的等效命名空间/引用

c# - 无法启动应用程序

AndroidManifest 不生成启动器图标

javascript - 重叠的 Div——如何环绕?

python - 无法在 Python 中比较字符串

html - 动画宽度从自动到 100%?

c - 从 jpeg 图像文件获取宽度和高度

arrays - 如何根据 Google 表格中其他两个单元格的比较,使单元格返回值列表中的一个?