如何在布局中获得方形背景

时间:2014-06-26 09:17:50

标签: android layout

screenshot如何获得右侧Layouts方形背景。背景图像已经是我使用的正方形。

这是我的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:background="@drawable/home_bg_screen"
    android:orientation="vertical">
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:src="@drawable/aboutus_icon"/>
        <Button
            android:id="@+id/menu"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right|center_vertical"
            android:layout_marginRight="4dp"
            android:background="@drawable/contactus_btn"
            android:text="Menu"
            android:textColor="#FFF"/>
    </FrameLayout>
    <TextView
        android:id="@+id/header"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="12dp"
        android:textColor="#FFF"
        android:textSize="20sp"/>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:paddingLeft="28dp"
        android:paddingRight="28dp"
        android:orientation="vertical">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:baselineAligned="false">
            <RelativeLayout
                android:id="@+id/rel_one"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="2"
                android:layout_marginRight="1dp"
                android:layout_marginBottom="1.7dp"
                android:layout_marginTop="0.7dp"
                android:layout_marginLeft="1dp"
                android:background="@drawable/large_bg">
                <ImageView
                    android:id="@+id/about_image"
                    android:layout_width="150dp"
                    android:layout_height="150dp"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="10dp"
                    android:gravity="center"
                    android:padding="5dp"/>
                <TextView
                    android:id="@+id/about_description"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:gravity="center"
                    android:layout_centerHorizontal="true"
                    android:layout_below="@+id/about_image"
                    android:layout_marginTop="5dp"
                    android:paddingLeft="5dp"
                    android:singleLine="false"
                    android:textColor="#000"
                    android:textSize="11sp"
                    android:scrollbars="vertical"/>
            </RelativeLayout>
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:orientation="vertical">
                <RelativeLayout
                    android:id="@+id/rel_two"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/list_selector8">
                    <ImageView
                        android:id="@+id/one_image"
                        android:layout_width="60dp"
                        android:layout_height="50dp"
                        android:layout_centerHorizontal="true"
                        android:layout_marginTop="3dp"
                        android:scaleType="fitXY"/>
                    <TextView
                        android:id="@+id/one"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/one_image"
                        android:layout_centerHorizontal="true"
                        android:gravity="center"
                        android:layout_marginTop="4dp"
                        android:paddingLeft="1dp"
                        android:paddingRight="1dp"
                        android:textColor="#000"
                        android:textSize="11sp"
                        android:maxLines="2"
                        android:scrollbars="vertical"/>
                </RelativeLayout>
                <RelativeLayout
                    android:id="@+id/rel_four"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/list_selector8">
                    <ImageView
                        android:id="@+id/two_image"
                        android:layout_width="60dp"
                        android:layout_height="50dp"
                        android:layout_centerHorizontal="true"
                        android:layout_marginTop="3dp"
                        android:scaleType="fitXY"/>
                    <TextView
                        android:id="@+id/two"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/two_image"
                        android:layout_centerHorizontal="true"
                        android:gravity="center"
                        android:layout_marginTop="4dp"
                        android:paddingLeft="1dp"
                        android:paddingRight="1dp"
                        android:textColor="#000"
                        android:textSize="11sp"
                        android:maxLines="2"
                        android:scrollbars="vertical"/>
                </RelativeLayout>
                <RelativeLayout
                    android:id="@+id/rel_five"
                    android:layout_width="match_parent"
                    android:layout_height="0dp"
                    android:layout_weight="1"
                    android:background="@drawable/list_selector8">
                    <ImageView
                        android:id="@+id/three_image"
                        android:layout_width="60dp"
                        android:layout_height="50dp"
                        android:layout_centerHorizontal="true"
                        android:layout_marginTop="3dp"
                        android:scaleType="fitXY"/>
                    <TextView
                        android:id="@+id/three"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/three_image"
                        android:layout_centerHorizontal="true"
                        android:gravity="center"
                        android:layout_marginTop="4dp"
                        android:paddingLeft="1dp"
                        android:paddingRight="1dp"
                        android:textColor="#000"
                        android:textSize="11sp"
                        android:maxLines="2"
                        android:scrollbars="vertical"/>
                </RelativeLayout>
            </LinearLayout>
        </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <RelativeLayout
                android:id="@+id/rel_six"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:background="@drawable/list_selector8">
                <ImageView
                    android:id="@+id/six_image"
                    android:layout_width="60dp"
                    android:layout_height="50dp"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="3dp"
                    android:scaleType="fitXY"/>
                <TextView
                    android:id="@+id/six"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/six_image"
                    android:layout_centerHorizontal="true"
                    android:gravity="center"
                    android:layout_marginTop="1dp"
                    android:paddingLeft="1dp"
                    android:paddingRight="1dp"
                    android:textColor="#000"
                    android:textSize="11sp"
                    android:maxLines="2"
                    android:scrollbars="vertical"/>
            </RelativeLayout>
            <RelativeLayout
                android:id="@+id/rel_seven"
                android:layout_width="0dp"
                android:layout_weight="1"
                android:layout_height="wrap_content"
                android:background="@drawable/list_selector8">
                <ImageView
                    android:id="@+id/five_image"
                    android:layout_width="60dp"
                    android:layout_height="50dp"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="3dp"
                    android:scaleType="fitXY"/>
                <TextView
                    android:id="@+id/five"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/five_image"
                    android:layout_centerHorizontal="true"
                    android:gravity="center"
                    android:layout_marginTop="1dp"
                    android:paddingLeft="1dp"
                    android:paddingRight="1dp"
                    android:maxLines="2"
                    android:textColor="#000"
                    android:textSize="11sp"
                    android:scrollbars="vertical"/>
            </RelativeLayout>
            <RelativeLayout
                android:id="@+id/rel_eight"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:background="@drawable/list_selector8">
                <ImageView
                    android:id="@+id/four_image"
                    android:layout_width="60dp"
                    android:layout_height="50dp"
                    android:layout_centerHorizontal="true"
                    android:scaleType="fitXY"/>
                <TextView
                        android:id="@+id/four"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_below="@+id/four_image"
                        android:layout_centerHorizontal="true"
                        android:gravity="center"
                        android:paddingLeft="1dp"
                        android:paddingRight="1dp"
                        android:textColor="#000"
                        android:maxLines="2"
                        android:textSize="11sp"
                        android:scrollbars="vertical"/>
            </RelativeLayout>
        </LinearLayout>
    </LinearLayout>
</LinearLayout>

Screen shot link

2 个答案:

答案 0 :(得分:4)

在我看来,最简单的方法是将您想要平方的布局子类化,覆盖onMesure。对于instande:

public class SquaredLayout extends LinearLayout {

public SquaredLayout(Context context, AttributeSet attrs) {
    super(context, attrs);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, widthMeasureSpec);
}
}

答案 1 :(得分:0)

您是否尝试过编写一个selector.xml来锐化角落背景? 也许这会对你有帮助。