LinearLayout扩展元素

时间:2014-04-13 17:10:01

标签: android xml android-layout android-linearlayout

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

我想要发生的是第二个线性布局,所有按钮和参数都是固定高度,然后根据屏幕的大小,图像视图高度是动态的。因此,如果有一个大屏幕,那么图像将很大,按钮和滑块将始终相同。

以下是我所拥有的片段:

<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">

有一种简单的方法吗?

2 个答案:

答案 0 :(得分:2)

您可以通过ImageView layout_height 0dp layout_weight并将其1设置为LinearLayout来实现此目的。内部layout_heightwrap_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>

{{1}}

答案 1 :(得分:-1)

是的,您可以使用以下方式执行此操作:

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