Android布局中实现圆角边框

Posted 巫山码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android布局中实现圆角边框相关的知识,希望对你有一定的参考价值。

设置corners_bg.xml

设置边框圆角可以在drawable-mdpi目录里定义一个xml: 

 

<?xml version="1.0" encoding="utf-8"?>  
<shape xmlns:android="http://schemas.android.com/apk/res/android">    
    <solid android:color="#FFFFFF" />    
    <corners android:topLeftRadius="10dp"   
             android:topRightRadius="10dp"    
             android:bottomRightRadius="10dp"   
             android:bottomLeftRadius="10dp"/>    
</shape> 

解释:

 

solid的表示填充颜色,为了简单,这里用的是白色。 

而corners则是表示圆角,注意的是这里bottomRightRadius是左下角而不是右下角,bottomLeftRadius右下角。 

 

上面的效果也可以像下面一样设置,如下:

 

<corners android:radius="5dp" />  

 

引用corners_bg.xml

 

如果想引用这个xml,只需要@drawable/corners_bg.xml即可: 

android:background="@drawable/corners_bg" 

 

应用范例

 

 

<?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="#E1E0DE"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:background="#2B3439"
        android:gravity="center"
        android:text="发现"
        android:textColor="#FFFFFF"
        android:textSize="20sp" />

    <LinearLayout
        android:id="@+id/login_div"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_margin="10dp"
        android:background="@drawable/corners_bg"
        android:gravity="center_vertical"
        android:padding="10dp" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/find_more_friend_photograph_icon" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="14dp"
            android:text="朋友圈"
            android:textColor="#000"
            android:textSize="18sp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="101dp"
        android:layout_margin="10dp"
        android:background="@drawable/corners_bg"
        android:orientation="vertical"
        android:padding="10dp" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="50dp" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/find_more_friend_scan" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="14dp"
                android:text="扫一扫"
                android:textColor="#000"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_centerVertical="true" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/come_from_shake" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="14dp"
                android:text="摇一摇"
                android:textColor="#000"
                android:textSize="18sp" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="101dp"
        android:layout_margin="10dp"
        android:background="@drawable/corners_bg"
        android:orientation="vertical"
        android:padding="10dp" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="50dp" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/find_more_friend_near_icon" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="14dp"
                android:text="附近的人"
                android:textColor="#000"
                android:textSize="18sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="50dp"
            android:layout_centerVertical="true" >

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:src="@drawable/come_from_bottle" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="14dp"
                android:text="漂流瓶"
                android:textColor="#000"
                android:textSize="18sp" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:id="@+id/login_div"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:layout_margin="10dp"
        android:background="@drawable/corners_bg"
        android:gravity="center_vertical"
        android:padding="10dp" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/more_game" />

        <TextView
            android:id="@+id/textView2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="14dp"
            android:text="游戏中心"
            android:textColor="#000"
            android:textSize="18sp" />
    </LinearLayout>

</LinearLayout>

 

效果图

 

技术分享

以上是关于Android布局中实现圆角边框的主要内容,如果未能解决你的问题,请参考以下文章

Android中实现EditText圆角的方法

Android中实现圆角矩形及半透明效果。

如何在android中实现下拉刷新?

Xamarin Android 圆角边框与彩色 ImageView

Bootstrap中实现圆角圆形头像和响应式图片/css3圆角图片阴影效果总结

Android圆角背景设置