Android 之 Shape (圆角输入框)

1 简介

本文主要介绍通过 shape 来设置 EditText 的圆角。
 

2 shape 的设置

 

shape_life_search.xml 放在 res/drawable 文件夹内

 

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- 角度 -->
    <corners android:radius="100dp"/>
    <!-- 填充色 -->
    <solid android:color="#ffffff"/>
    <!-- 描边 设置线宽及颜色 -->
    <stroke android:color="#cccacb"
        android:width="1dp"/>
</shape>


 

 

3 shape 的使用

 
在 activity_main.xml 主布局中如此使用

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="#f5f5f5"
    tools:ignore="HardcodedText,ContentDescription" >
    
    <!-- Head start -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="10dp"
        android:background="#ff5a54">
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:src="@drawable/head_left" />
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center"
            android:text="周边生活"
            android:textStyle="bold"
            android:textSize="20sp"
            android:textColor="@android:color/white"/>
        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:src="@drawable/head_right" />
    </LinearLayout>
    <!-- Head end   -->
    <!-- Search start-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_margin="10dp">
        <EditText
            android:id="@+id/search_edit"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:drawableLeft="@drawable/search_left"
              android:background="@drawable/shape_life_search"
              android:hint="请输入商户或地址"
            android:padding="10dp"
            android:textColorHint="#b7b7b7"
            android:textStyle="bold"/>
    </LinearLayout>
    <!-- Search end  -->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>
</LinearLayout>


4 用到的资源

 
head_left.png

head_right.png

search_left.png

 
 

5 隐藏标题栏

 
package com.ui;
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        //隐藏应用程序标题栏    (能看到手机通知栏)
         requestWindowFeature(Window.FEATURE_NO_TITLE);                                                                             
        //设置全屏            (手机通知栏也被隐藏)
        //this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
        
        setContentView(R.layout.activity_main);
    }
}

6 结果预览

 
注:在 eclipse 的 layout 布局预览功能中,圆角不是很明显,但是安装到模拟器后就正常显示了,具体原因未知。
 
在 eclipse 中预览结果
 
在模拟器中的结果
 






 注:转载请注明出处 :)   毕竟代码是一个一个敲出来的啊,O(∩_∩)O~


 
 
 

 

posted @ 2013-09-26 21:36  pangbangb  阅读(2740)  评论(0编辑  收藏  举报