Xamarin:Android - Layout_Height随wordwrap改变

时间:2018-04-20 11:57:35

标签: android layout xamarin.android height android-linearlayout

我在一个线性布局中有三个相同的按钮。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <Button
        android:layout_weight="1"
        android:background="@drawable/button_clear"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:text="Kamera öffnen" />
    <Button
        android:layout_weight="1"
        android:background="@drawable/button_clear"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:text="Bild hochladen" />
    <Button
        android:layout_weight="1"
        android:background="@drawable/button_clear"
        android:layout_width="match_parent"
        android:layout_height="60dp"
        android:text="Abbrechen" />
</LinearLayout>

如果我将设备从水平转为垂直,前两个按钮的文本需要一个自动换行。 问题是,按钮会改变它们的高度 - &gt;带有wordwrap的两个按钮的高度低于仅有一个文本行的第三个按钮。

横向视图: enter image description here

垂直视图: enter image description here

为什么会发生这种情况,我该如何预防呢?

1 个答案:

答案 0 :(得分:0)

希望以下xml能解决您的问题。

<LinearLayout android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
xmlns:android="http://schemas.android.com/apk/res/android"
android:weightSum="3">
<Button
    android:layout_weight="1"
    android:background="@drawable/button_clear"
    android:layout_width="0dp"
    android:layout_height="60dp"
    android:text="Kamera öffnen" />
<Button
    android:layout_weight="1"
    android:background="@drawable/button_clear"
    android:layout_width="0dp"
    android:layout_height="60dp"
    android:text="Bild hochladen" />
<Button
    android:layout_weight="1"
    android:background="@drawable/button_clear"
    android:layout_width="0dp"
    android:layout_height="60dp"
    android:text="Abbrechen" />

当您使用layout_weight时,在根布局上使用weightSum,因为当您有更多视图或复杂视图时,它会产生冲突。你还应该使用layout_width / height =&#34; 0dp&#34;取决于根布局方向,以获得layout_weight的优势。因为您试图使用重量控制您的视图。谢谢