Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android线性布局填充宽度_Android_Android Linearlayout - Fatal编程技术网

Android线性布局填充宽度

Android线性布局填充宽度,android,android-linearlayout,Android,Android Linearlayout,我想知道为什么会发生这种情况: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:gravity="center_vertical" android:layout_height="wrap_content" android

我想知道为什么会发生这种情况:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_width="fill_parent"
    android:gravity="center_vertical"
    android:layout_height="wrap_content" android:layout_gravity="top"
    android:background="@drawable/gradient" android:focusable="true"
    android:paddingTop="5dip" android:paddingBottom="5dip"
    android:focusableInTouchMode="true">
        <EditText android:id="@+id/searchField"
            android:layout_width="wrap_content" android:layout_height="fill_parent"

            android:paddingTop="2dip" android:paddingBottom="2dip"
            android:paddingLeft="10dip" android:paddingRight="10dip"
            android:inputType="textVisiblePassword" android:radius="5dip"
            android:layout_marginLeft="10dip"
            android:background="@drawable/search_background" android:textColor="#000000" />

        <Button android:id="@+id/info" android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dip"
            android:background="@drawable/info_btn" />
</LinearLayout>

如果我将“填充父对象”设置为EditText的布局宽度,它将占据父对象的整个宽度,按钮将消失(我猜它隐藏在EditText下面)


谁能给我解释一下吗?我想让按钮采用自己的宽度,编辑文本采用剩余的宽度。

您告诉编辑文本填充父对象,因此它填充屏幕(整个宽度,没有为按钮留下空间)

如果希望按钮包装其内容,并希望编辑文本填充其余内容,则可以使用layout_weight属性执行此操作:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
 xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_gravity="top"
 android:gravity="center_vertical"
 android:paddingTop="5dip"
 android:paddingBottom="5dip"
 android:orientation="horizontal">
<EditText
    android:id="@+id/searchField"
    android:layout_width="0dip"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:layout_marginLeft="10dip"
    android:paddingTop="2dip"
    android:paddingBottom="2dip"
    android:paddingLeft="10dip"
    android:paddingRight="10dip"
    android:radius="5dip"
    android:inputType="textVisiblePassword"
    android:textColor="#000000" />
<Button
    android:id="@+id/info"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="10dip"
    android:text="Blah" />
</LinearLayout>

(我把你的可提取的参考资料拿出来,让它对其他人通用)

另一方面,为了使您的XML在eclipse中看起来整洁且更易于维护:

窗口>首选项>XML>XML文件>编辑器

线宽120

分割多个属性勾选

对齐最终支架,使其松开

保留PCDATA UNTICK中的空白标记

清除所有空行,取消勾选

在结束勾号之前插入空格

单击“确定”


然后您可以修复XML文件,当您打开一个XML文件时,CTRL+A然后CTRL+SHIFT+F将很好地格式化它

非常感谢!缺少的属性“布局重量”+宽度“0倾斜”解决了所有问题。