0

我试图了解相对布局是如何工作的。我知道如果我使用 LinearLayout,我将有两个并排的水平编辑文本字段。使用“权重”将使 edittext 字段仅根据屏幕大小重新调整大小。(它可能看起来很奇怪,但它会做到)。

我知道线性布局不是最有效的。我可以使用相对布局并具有相同的效果吗?我不想指定大小,我只想扩展编辑文本。

使用这样的线性布局,xml 会是什么样子?

谢谢你,迈克

4

4 回答 4

1

我可以看到大多数 android 开发人员一生都在做的一件事就是布局。

看来你可以用RelativeLayouts做我想做的事,但只能是2的倍数……至少我到目前为止发现的。使用按钮中心,两个按钮放在同一行,每个按钮占据屏幕的一半左右。如果没有按钮中心,它们会相互重叠。想知道这是否值得。

希望这会有所帮助并感谢大家!

<View android:id="@+id/button_center" android:layout_width="0dp"
    android:layout_height="0dp" android:layout_centerHorizontal="true" />

<Button android:id="@+id/btnButton1" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:text="Button 1" 
    android:layout_toLeftOf="@+id/button_center"/>

<Button android:id="@+id/btnButton2" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:text="Button 2"
    android:layout_toRightOf="@+id/button_center" />

于 2012-11-19T23:43:06.017 回答
0

请记住,权重不是百分比。重量将根据其原始尺寸对事物进行加权。为了完成您想要的权重,只需将 android:weightSum 添加到您的 LinearLayout。

http://developer.android.com/reference/android/widget/LinearLayout.html#attr_android:weightSum

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:weightSum="1.0" >

    <EditText
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:text="Left" >
    </EditText>

    <EditText
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:text="Right" />
</LinearLayout>
于 2012-11-19T23:56:48.607 回答
0

我认为这可以通过 alignLeft/alignRight 来完成,但遗憾的是,它似乎需要嵌套的 LinearLayout。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentRight="true" >

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:text="Left" >

            <requestFocus />
        </EditText>

        <EditText
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.5"
            android:text="Right" />
    </LinearLayout>

</RelativeLayout>
于 2012-11-19T15:01:37.183 回答
0

如果您只是在 EditText 字段中使用了 width="fill_parent" 和 height="fill_parent" 怎么办(并且可能使用了一些填充或边距)?

于 2012-11-19T15:04:56.423 回答