我试图了解相对布局是如何工作的。我知道如果我使用 LinearLayout,我将有两个并排的水平编辑文本字段。使用“权重”将使 edittext 字段仅根据屏幕大小重新调整大小。(它可能看起来很奇怪,但它会做到)。
我知道线性布局不是最有效的。我可以使用相对布局并具有相同的效果吗?我不想指定大小,我只想扩展编辑文本。
使用这样的线性布局,xml 会是什么样子?
谢谢你,迈克
我试图了解相对布局是如何工作的。我知道如果我使用 LinearLayout,我将有两个并排的水平编辑文本字段。使用“权重”将使 edittext 字段仅根据屏幕大小重新调整大小。(它可能看起来很奇怪,但它会做到)。
我知道线性布局不是最有效的。我可以使用相对布局并具有相同的效果吗?我不想指定大小,我只想扩展编辑文本。
使用这样的线性布局,xml 会是什么样子?
谢谢你,迈克
我可以看到大多数 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" />
请记住,权重不是百分比。重量将根据其原始尺寸对事物进行加权。为了完成您想要的权重,只需将 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>
我认为这可以通过 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>
如果您只是在 EditText 字段中使用了 width="fill_parent" 和 height="fill_parent" 怎么办(并且可能使用了一些填充或边距)?