【问题标题】:LinearLayout expanding elementsLinearLayout 扩展元素
【发布时间】:2014-04-13 17:10:00
【问题描述】:

我在线性布局中有一个 imageView 和一个线性布局。它看起来像这样:

我想要做的是让所有按钮和参数的第二个线性布局都是固定高度,然后根据屏幕的大小让图像视图高度是动态的。所以如果有一个大屏幕,那么图像就会很大,按钮和滑块总是一样的。

这是我所拥有的一个sn-p:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
>


<ImageView
    android:id="@+id/imgPreview"
    android:layout_width="match_parent"
    android:layout_height="400dp"
    android:visibility="visible"
    android:layout_gravity="center_vertical|right"
    android:layout_alignParentTop="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:scaleType="centerCrop"
    />


<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="fill_parent">

有没有简单的方法可以做到这一点?

【问题讨论】:

  • 我推荐使用RelativeLayout作为根布局

标签: android xml android-layout android-linearlayout


【解决方案1】:

您可以通过将ImageView 指定为0dplayout_height 并将其layout_weight 设置为1 来实现此目的。内部LinearLayout 将其layout_height 设置为wrap_content

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true" >

    <ImageView
        android:id="@+id/imgPreview"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:visibility="visible"
        android:scaleType="centerCrop" />

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Your button and slider content here>

    </LinearLayout>

</LinearLayout>

【讨论】:

    【解决方案2】:

    是的,您可以这样做:

    android:layout_height="0dp"
    android:layout_weight="YOUR VALUE" 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-03
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多