在網上在到壹個登錄界面感覺挺不錯的,給大家分享壹下~先看效果圖:
這個Demo除了按鈕、小貓和Logo是圖片素材之外,其余的UI都是通過代碼實現的。
壹、背景
背景藍色漸變,是通過壹個xml文件來設置的。代碼如下:
background_login.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:andro>
<gradient
android:startColor="#FFACDAE5"
android:endColor="#FF72CAE1"
android:angle="45"
/>
</shape>
startColor是漸變開始的顏色值,endColor是漸變結束的顏色值,angle是漸變的角度。其中#FFACDAE5中,FF是Alpha值,AC是RGB的R值,DA是RGB的G值,E5是RGB的B值,每個值在00~FF取值,即透明度、紅、綠、藍有0~255的分值,像要設置具體的顏色,可以在PS上的取色器上查看設置。
二、圓角白框
效果圖上面的並不是白框,其實框是白色的,只是設置了透明值,也是靠壹個xml文件實現的。
background_login_div.xml
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:andro>
<solid android:color="#55FFFFFF" />
<!-- 設置圓角
註意: bottomRightRadius是左下角而不是右下角 ?bottomLeftRadius右下角-->
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp"
android:bottomRightRadius="10dp" android:bottomLeftRadius="10dp"/>
</shape>
三、界面的布局
界面的布局挺簡單的,就直接貼代碼啦~
login.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:andro
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/background_login">
<!-- padding 內邊距 ? layout_margin 外邊距
? android:layout_alignParentTop 布局的位置是否處於頂部 -->
?
? <RelativeLayout
? android:
? android:layout_width="fill_parent"
? android:layout_height="wrap_content"
? android:padding="15dip"
? android:layout_margin="15dip"
? android:background="@drawable/background_login_div_bg" >
? <!-- 賬號 -->
? <TextView
? android:
? android:layout_width="wrap_content"
? android:layout_height="wrap_content"
? android:layout_alignParentTop="true"
? android:layout_marginTop="5dp"
? android:text="@string/login_label_username"
? />
? <EditText
? android:
? android:layout_width="fill_parent"
? android:layout_height="wrap_content"
? android:hint="@string/login_username_hint"
? android:layout_below="@id/login_user_input"
? android:singleLine="true"
? android:inputType="text"/>
<!-- 密碼 text -->
<TextView
android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/username_edit"
android:layout_marginTop="3dp"
android:text="@string/login_label_password"
/>
<EditText
android:
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/login_password_input"
android:password="true"
android:singleLine="true"
android:inputType="textPassword" />
<!-- 登錄button -->
<Button
android:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/password_edit"
android:layout_alignRight="@id/password_edit"
android:text="@string/login_label_signin"
android:background="@drawable/blue_button" />
? </RelativeLayout>
?
? <RelativeLayout
? android:layout_width="fill_parent"
? android:layout_height="wrap_content" >
<TextView ?android:
android:text="@string/login_register_link"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:textColor="#888"
android:textColorLink="#FF0066CC" />
<ImageView android:
android:src="@drawable/cat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="25dp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="25dp" />
<ImageView android:src="@drawable/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/miniTwitter_logo"
android:layout_alignBottom="@id/miniTwitter_logo"
android:paddingBottom="8dp"/>
? </RelativeLayout>
</LinearLayout>