使ImageView至少占屏幕的50%

时间:2016-05-22 15:00:33

标签: android xml android-imageview

请查看以下代码

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/white">


    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="10dp"
        android:paddingRight="10dp"
        android:paddingLeft="10dp"
        android:paddingTop="10dp"
        android:id="@+id/image_background"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:src="@drawable/mmm"
        android:layout_alignParentTop="true"
        android:adjustViewBounds="true"/>

    <LinearLayout
        android:id="@+id/l22Parent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:layout_below="@+id/image_background"
        android:orientation="horizontal">

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="1"
            android:id="@+id/step18button1"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:background="@drawable/button_border"
            android:layout_below="@+id/step18textView"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="2"
            android:id="@+id/step18button2"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignTop="@+id/step18button1"
            android:layout_toRightOf="@+id/step18button1"
            android:layout_toEndOf="@+id/step18button1"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="3"
            android:id="@+id/step18button3"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button2"
            android:layout_toRightOf="@+id/step18button2"
            android:layout_toEndOf="@+id/step18button2"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="4"
            android:id="@+id/step18button4"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button3"
            android:layout_toRightOf="@+id/step18button3"
            android:layout_toEndOf="@+id/step18button3"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="5"
            android:id="@+id/step18button5"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button4"
            android:layout_toRightOf="@+id/step18button4"
            android:layout_toEndOf="@+id/step18button4"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="6"
            android:id="@+id/step18button6"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button5"
            android:layout_toRightOf="@+id/step18button5"
            android:layout_toEndOf="@+id/step18button5"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="7"
            android:id="@+id/step18button7"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button6"
            android:layout_toRightOf="@+id/step18button6"
            android:layout_toEndOf="@+id/step18button6"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="8"
            android:id="@+id/step18button8"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button7"
            android:layout_toRightOf="@+id/step18button7"
            android:layout_toEndOf="@+id/step18button7"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="9"
            android:id="@+id/step18button9"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button8"
            android:layout_toRightOf="@+id/step18button8"
            android:layout_toEndOf="@+id/step18button8"
            android:background="@drawable/button_border"/>
    </LinearLayout>
</RelativeLayout>

以上生成的UI如下 enter image description here

然而,我希望图像至少占据屏幕的50%。布局没关系,任何布局都很好,但是在任何移动设备中它应该是屏幕的50%左右(50%是粗略值,可以是60%等)。如何达到我的要求?

我在这里可以找到我使用的图像 - http://iespressolife.com/wp-content/uploads/2016/03/Malabar-InHouse-9423_1450_906px-1024x640.jpg

更新

用户“Arpit Patel”的回答是正确的,但不完整。以下是正确的版本。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@android:color/white">


    <ImageView
        android:id="@+id/image_background"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_weight="2"
        android:adjustViewBounds="true"
        android:background="@drawable/mmm" />

    <LinearLayout
        android:id="@+id/l22Parent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/image_background"
        android:layout_marginTop="10dp"
        android:layout_weight="1"
        android:orientation="horizontal">

        <Button
            android:id="@+id/step18button1"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/step18textView"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:text="1"
            android:textSize="13dp" />

        <Button
            android:id="@+id/step18button2"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignTop="@+id/step18button1"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/step18button1"
            android:layout_toRightOf="@+id/step18button1"
            android:layout_weight="1"
            android:text="2"
            android:textSize="13dp" />

        <Button
            android:id="@+id/step18button3"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step18button2"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/step18button2"
            android:layout_toRightOf="@+id/step18button2"
            android:layout_weight="1"
            android:text="3"
            android:textSize="13dp" />

        <Button
            android:id="@+id/step18button4"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step18button3"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/step18button3"
            android:layout_toRightOf="@+id/step18button3"
            android:layout_weight="1"
            android:text="4"
            android:textSize="13dp" />

        <Button
            android:id="@+id/step18button5"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step18button4"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/step18button4"
            android:layout_toRightOf="@+id/step18button4"
            android:layout_weight="1"
            android:text="5"
            android:textSize="13dp" />

        <Button
            android:id="@+id/step18button6"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step18button5"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/step18button5"
            android:layout_toRightOf="@+id/step18button5"
            android:layout_weight="1"
            android:text="6"
            android:textSize="13dp" />

        <Button
            android:id="@+id/step18button7"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step18button6"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/step18button6"
            android:layout_toRightOf="@+id/step18button6"
            android:layout_weight="1"
            android:text="7"
            android:textSize="13dp" />

        <Button
            android:id="@+id/step18button8"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step18button7"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/step18button7"
            android:layout_toRightOf="@+id/step18button7"
            android:layout_weight="1"
            android:text="8"
            android:textSize="13dp" />

        <Button
            android:id="@+id/step18button9"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step18button8"
            android:layout_marginLeft="3dp"
            android:layout_toEndOf="@+id/step18button8"
            android:layout_toRightOf="@+id/step18button8"
            android:layout_weight="1"
            android:text="9"
            android:textSize="13dp" />
    </LinearLayout>
</LinearLayout>

4 个答案:

答案 0 :(得分:1)

试试这个xml代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="2"
    android:background="@android:color/white">
    <ImageView
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:paddingBottom="10dp"
        android:paddingRight="10dp"
        android:paddingLeft="10dp"
        android:paddingTop="10dp"
        android:layout_weight="1"
        android:src="@drawable/mmm"
        android:id="@+id/image_background"
        android:adjustViewBounds="true"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:orientation="horizontal"
        android:layout_weight="1"
        android:id="@+id/l22Parent"
       android:layout_marginTop="10dp"
       android:layout_below="@+id/image_background">

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="1"
            android:id="@+id/step18button1"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:background="@drawable/button_border"
            android:layout_below="@+id/step18textView"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="2"
            android:id="@+id/step18button2"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignTop="@+id/step18button1"
            android:layout_toRightOf="@+id/step18button1"
            android:layout_toEndOf="@+id/step18button1"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="3"
            android:id="@+id/step18button3"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button2"
            android:layout_toRightOf="@+id/step18button2"
            android:layout_toEndOf="@+id/step18button2"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="4"
            android:id="@+id/step18button4"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button3"
            android:layout_toRightOf="@+id/step18button3"
            android:layout_toEndOf="@+id/step18button3"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="5"
            android:id="@+id/step18button5"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button4"
            android:layout_toRightOf="@+id/step18button4"
            android:layout_toEndOf="@+id/step18button4"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="6"
            android:id="@+id/step18button6"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button5"
            android:layout_toRightOf="@+id/step18button5"
            android:layout_toEndOf="@+id/step18button5"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="7"
            android:id="@+id/step18button7"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button6"
            android:layout_toRightOf="@+id/step18button6"
            android:layout_toEndOf="@+id/step18button6"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="8"
            android:id="@+id/step18button8"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button7"
            android:layout_toRightOf="@+id/step18button7"
            android:layout_toEndOf="@+id/step18button7"
            android:background="@drawable/button_border"/>

        <Button
            style="?android:attr/buttonStyleSmall"
            android:layout_width="39dp"
            android:layout_height="wrap_content"
            android:text="9"
            android:id="@+id/step18button9"
            android:textSize="13dp"
            android:layout_marginLeft="3dp"
            android:layout_weight="1"
            android:layout_alignBottom="@+id/step18button8"
            android:layout_toRightOf="@+id/step18button8"
            android:layout_toEndOf="@+id/step18button8"
            android:background="@drawable/button_border"/>
    </LinearLayout>
</LinearLayout>

答案 1 :(得分:1)

使用图像覆盖50%的屏幕。

enter image description here

<ImageView
    android:id="@+id/image_background"
    android:layout_width="fill_parent"
    android:layout_height="0dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:layout_weight="1"
    android:adjustViewBounds="true"
    android:background="@drawable/a" />

<LinearLayout
    android:id="@+id/l22Parent"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/image_background"
    android:layout_marginTop="10dp"
    android:orientation="horizontal">

    <Button
        android:id="@+id/step18button1"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/step18textView"
        android:layout_marginLeft="3dp"
        android:layout_weight="1"
        android:text="1"
        android:textSize="13dp" />

    <Button
        android:id="@+id/step18button2"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/step18button1"
        android:layout_marginLeft="3dp"
        android:layout_toEndOf="@+id/step18button1"
        android:layout_toRightOf="@+id/step18button1"
        android:layout_weight="1"
        android:text="2"
        android:textSize="13dp" />

    <Button
        android:id="@+id/step18button3"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/step18button2"
        android:layout_marginLeft="3dp"
        android:layout_toEndOf="@+id/step18button2"
        android:layout_toRightOf="@+id/step18button2"
        android:layout_weight="1"
        android:text="3"
        android:textSize="13dp" />

    <Button
        android:id="@+id/step18button4"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/step18button3"
        android:layout_marginLeft="3dp"
        android:layout_toEndOf="@+id/step18button3"
        android:layout_toRightOf="@+id/step18button3"
        android:layout_weight="1"
        android:text="4"
        android:textSize="13dp" />

    <Button
        android:id="@+id/step18button5"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/step18button4"
        android:layout_marginLeft="3dp"
        android:layout_toEndOf="@+id/step18button4"
        android:layout_toRightOf="@+id/step18button4"
        android:layout_weight="1"
        android:text="5"
        android:textSize="13dp" />

    <Button
        android:id="@+id/step18button6"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/step18button5"
        android:layout_marginLeft="3dp"
        android:layout_toEndOf="@+id/step18button5"
        android:layout_toRightOf="@+id/step18button5"
        android:layout_weight="1"
        android:text="6"
        android:textSize="13dp" />

    <Button
        android:id="@+id/step18button7"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/step18button6"
        android:layout_marginLeft="3dp"
        android:layout_toEndOf="@+id/step18button6"
        android:layout_toRightOf="@+id/step18button6"
        android:layout_weight="1"
        android:text="7"
        android:textSize="13dp" />

    <Button
        android:id="@+id/step18button8"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/step18button7"
        android:layout_marginLeft="3dp"
        android:layout_toEndOf="@+id/step18button7"
        android:layout_toRightOf="@+id/step18button7"
        android:layout_weight="1"
        android:text="8"
        android:textSize="13dp" />

    <Button
        android:id="@+id/step18button9"
        style="?android:attr/buttonStyleSmall"
        android:layout_width="39dp"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/step18button8"
        android:layout_marginLeft="3dp"
        android:layout_toEndOf="@+id/step18button8"
        android:layout_toRightOf="@+id/step18button8"
        android:layout_weight="1"
        android:text="9"
        android:textSize="13dp" />
</LinearLayout>

答案 2 :(得分:0)

只需设置

android:weight="0.5"

在ImageView和LinearLayout标记内。您将使用屏幕的一半填充图像,线性布局内的其他所有内容将占据屏幕的另一半。

答案 3 :(得分:0)

LinearLayout固定在底部,并告诉ImageView出现在其上方。 当然,您需要删除layout_below属性。

<RelativeLayout>
    <ImageView 
        layout:above_layout="@+id/yourLinearLayout"/>
    <LinearLayout
        android:alignParentBottom="true"/>
</RelativeLayout>

你可以告诉ImageView在空间中居中,裁剪它等等。另外,你可以给你的'LinearLayout`一个更大的边缘。