设置布局背景和高度

时间:2016-11-20 09:01:17

标签: android layout background background-color

我有两个问题 首先,我有一个孩子布局,我想将它的背景设置为绿色,但是当我设置时,我已经得到了这种布局,它的颜色没有拉伸,低于pic enter image description here

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_below="@+id/image_Dead_Load"
    android:layout_centerHorizontal="true"
    android:layout_marginBottom="6dp"
    android:layout_marginLeft="6dp"
    android:layout_marginRight="6dp"
    android:background="@drawable/layout_border"
    android:paddingLeft="6dp"
    android:paddingRight="6dp">

    <RelativeLayout
        android:id="@+id/material_info"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:background="@color/green">

        <TextView
            android:id="@+id/wall_material"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/material_thickness"
            android:layout_gravity="center_horizontal"
            android:layout_marginEnd="91dp"
            android:layout_marginRight="110dp"
            android:paddingLeft="5sp"
            android:text="جنس مصالح"
            android:textColor="@color/black"
            android:textSize="15sp" />

        <TextView
            android:id="@+id/material_thickness"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_marginBottom="3dp"
            android:paddingLeft="5sp"
            android:text="ضخامت mm"
            android:textColor="@color/black"
            android:textSize="15sp" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/brick_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/material_info"
        android:layout_marginTop="5dp">

        <EditText
            android:id="@+id/editText_wall_width"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:layout_alignBottom="@+id/wall_material_spinner"
            android:layout_alignTop="@+id/wall_material_spinner"
            android:layout_marginRight="3dp"
            android:background="@drawable/textinputborder"
            android:inputType="numberDecimal"
            android:paddingLeft="5sp"
            android:textColor="@color/black" />

        <Spinner
            android:id="@+id/wall_material_spinner"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_toLeftOf="@+id/brick_material"
            android:layout_toRightOf="@+id/editText_wall_width"
            android:layout_toStartOf="@+id/brick_material"
            android:background="@drawable/spinner_background"
            android:spinnerMode="dropdown" />

        <TextView
            android:id="@+id/brick_material"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/wall_material_spinner"
            android:layout_alignParentRight="true"
            android:text="نوع آجر"
            android:textColor="@color/gray_heavy"
            android:textSize="15sp" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/plastering_layout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/brick_layout">

        <EditText
            android:id="@+id/editText_plastering_material"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:layout_alignBottom="@+id/plastering_material_spinner"
            android:layout_alignTop="@+id/plastering_material_spinner"
            android:layout_marginRight="3dp"
            android:background="@drawable/textinputborder"
            android:inputType="numberDecimal"
            android:paddingLeft="5sp"
            android:textColor="@color/black" />

        <Spinner
            android:id="@+id/plastering_material_spinner"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_marginTop="7dp"
            android:layout_toLeftOf="@+id/plastering_material"
            android:layout_toRightOf="@+id/editText_plastering_material"
            android:layout_toStartOf="@+id/plastering_material"
            android:background="@drawable/spinner_background"
            android:gravity="center_vertical"
            android:spinnerMode="dropdown" />

        <TextView
            android:id="@+id/plastering_material"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/plastering_material_spinner"
            android:layout_alignParentRight="true"
            android:text="نوع اندود"
            android:textColor="@color/gray_heavy"
            android:textSize="15sp" />

    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/esther_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/plastering_layout">

        <TextView
            android:id="@+id/esther_material"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/esther_material_spinner"
            android:layout_alignParentRight="true"
            android:text="نوع آستر"
            android:textColor="@color/gray_heavy"
            android:textSize="15sp" />

        <Spinner
            android:id="@+id/esther_material_spinner"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_marginTop="7dp"
            android:layout_toLeftOf="@+id/esther_material"
            android:layout_toRightOf="@+id/editText_esther_material"
            android:layout_toStartOf="@+id/esther_material"
            android:background="@drawable/spinner_background"
            android:gravity="center_vertical"
            android:spinnerMode="dropdown" />

        <EditText
            android:id="@+id/editText_esther_material"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:layout_alignBottom="@+id/esther_material_spinner"
            android:layout_alignTop="@+id/esther_material_spinner"
            android:layout_marginRight="3dp"
            android:background="@drawable/textinputborder"
            android:inputType="numberDecimal"
            android:paddingLeft="5sp"
            android:textColor="@color/black" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/exterior_mortar_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/esther_layout">

        <TextView
            android:id="@+id/exterior_mortar_material"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/exterior_mortar_material_spinner"
            android:layout_alignParentRight="true"
            android:text="ملات بیرونی"
            android:textColor="@color/gray_heavy"
            android:textSize="12sp" />

        <Spinner
            android:id="@+id/exterior_mortar_material_spinner"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_marginTop="7dp"
            android:layout_toEndOf="@+id/editText_exterior_mortar_material"
            android:layout_toLeftOf="@+id/exterior_mortar_material"
            android:layout_toRightOf="@+id/editText_exterior_mortar_material"
            android:background="@drawable/spinner_background"
            android:gravity="center_vertical"
            android:spinnerMode="dropdown" />

        <EditText
            android:id="@+id/editText_exterior_mortar_material"
            android:layout_width="100dp"
            android:layout_height="30dp"
                                                                                         android:layout_alignBottom="@+id/exterior_mortar_material_spinner"                                                                                             android:layout_alignTop="@+id/exterior_mortar_material_spinner"
            android:layout_marginRight="3dp"
            android:background="@drawable/textinputborder"
            android:inputType="numberDecimal"
            android:paddingLeft="5sp"
            android:textColor="@color/black" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/facing_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/exterior_mortar_layout">

        <TextView
            android:id="@+id/facing_material"
            android:layout_width="60dp"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/facing_material_spinner"
            android:layout_alignParentRight="true"
            android:text="نوع نما"
            android:textColor="@color/gray_heavy"
            android:textSize="15sp" />

        <Spinner
            android:id="@+id/facing_material_spinner"
            android:layout_width="wrap_content"
            android:layout_height="25dp"
            android:layout_marginTop="7dp"
            android:layout_toEndOf="@+id/editText_facing_material"
            android:layout_toLeftOf="@+id/facing_material"
            android:layout_toRightOf="@+id/editText_facing_material"
            android:background="@drawable/spinner_background"
            android:gravity="center_vertical"
            android:spinnerMode="dropdown" />

        <EditText
            android:id="@+id/editText_facing_material"
            android:layout_width="100dp"
            android:layout_height="30dp"
            android:layout_alignBottom="@+id/facing_material_spinner"
            android:layout_alignTop="@+id/facing_material_spinner"
            android:layout_marginRight="3dp"
            android:background="@drawable/textinputborder"
            android:inputType="numberDecimal"
            android:paddingLeft="5sp"
            android:textColor="@color/black" />
    </RelativeLayout>

    <Button
        android:id="@+id/wall_loading_btn"
        android:layout_width="150dp"
        android:layout_height="36dp"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:layout_marginTop="5dp"
        android:background="@drawable/buttonshape"
        android:gravity="center"
        android:onClick="wallLoading"
        android:text="محاسبه"
        android:textColor="@color/white"
        android:textSize="18sp"
        android:textStyle="bold"></Button>


</RelativeLayout>

其次,正如你所看到的,我使用滑动标签,其高度未在android studio预览中显示: enter image description here

我无法设置布局高度,而我的蓝色按钮位于真实设备的最后一个微调器上。(见第一张图片) 我怎么解决它们? 谢谢先进

1 个答案:

答案 0 :(得分:1)

背景填充整个“material_info”布局,但此布局不会填充整个宽度。如果您希望布局适合整个宽度,请移除顶层布局的填充和边距,并为每个子项单独设置。

要实现圆角效果,您需要设置自定义背景可绘制。您可以创建如下自定义形状:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http//schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/yourGreen" />
    <corners
        android:bottomLeftRadius="0dp"
        android:bottomRightRadius="0dp"
        android:topLeftRadius="@dimen/yourRadius"
        android:topRightRadius="@dimen/yourRadius" />
</shape>

关于第二个问题:您不会在预览中看到该标签,因为它可能在另一个Fragment / Activity中,当前的Fragment被充气。预览仅显示当前View并非应用程序中可见的所有内容