Android登录
大家先看效果图:
1.login.xml
- <LinearLayout
- android:id="@+id/login_input01"
- android:layout_below="@id/zx_text"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="50dp"
- android:layout_marginLeft="5dp"
- android:layout_marginRight="5dp"
- android:gravity="center_vertical"
- android:orientation="horizontal"
- <span style="color:#cc0000;">android:addStatesFromChildren="true"//这个很重要,</span><span style="color: rgb(204, 0, 0); font-family: Arial, Helvetica, sans-serif; "><em><span style="color:red;">从子控件</span></em></span><span style="color: rgb(204, 0, 0); font-family: Arial, Helvetica, sans-serif; "><u><span style="color:red;"><EditText></span><span style="color:red;">中获取焦点</span></u></span>
- android:background="@drawable/input_box_selector"
- >
- <ImageView
- android:id="@+id/user_image"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="15dp"
- android:layout_marginRight="8dp"
- android:background="@drawable/name"
- android:clickable="true" />
- <<span style="color:#ff0000;">EditText</span>
- android:id="@+id/user_name"
- android:layout_width="fill_parent"
- android:layout_height="40dp"
- android:paddingLeft="10dp"
- android:maxLength="20"
- android:singleLine="true"
- <span style="color:#ff0000;">android:background="@null" </span>
- />
- </LinearLayout>
- <LinearLayout
- android:id="@+id/login_input02"
- android:layout_below="@id/login_input01"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:layout_marginTop="8dp"
- android:layout_marginLeft="5dp"
- android:layout_marginRight="5dp"
- android:gravity="center_vertical"
- android:addStatesFromChildren="true"
- android:orientation="horizontal"
- android:background="@drawable/input_box_selector"
- >
- <ImageView
- android:id="@+id/lock_image"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="15dp"
- android:layout_marginRight="8dp"
- android:background="@drawable/password"
- android:clickable="true" />
- <EditText
- android:id="@+id/user_password"
- android:layout_width="fill_parent"
- android:layout_height="40dp"
- android:paddingLeft="10dp"
- android:layout_centerHorizontal="true"
- <span style="color:#ff6600;">android:inputType="textPassword"</span>
- android:maxLength="20"
- android:password="true"
- <span style="color:#ff0000;">android:background="@null"</span>
- />
- </LinearLayout>
- <LinearLayout
- android:id="@+id/linearlayout"
- android:layout_below="@id/login_input02"
- android:layout_width="match_parent"
- android:layout_height="40dp"
- android:layout_marginTop="5dp"
- android:orientation="horizontal">
- <CheckBox
- android:id="@+id/login_checkBox"
- <span style="color:#ff0000;">style="@style/MyCheckBox"</span>
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_gravity="center_vertical"
- android:layout_marginRight="3dp"
- android:scaleX="0.5"
- android:scaleY="0.5"
- android:text="@string/login_remember_psw"
- android:textColor="#777"
- android:textSize="32sp" />
- <TextView
- android:id="@+id/forget_pwd"
- android:layout_width="0dp"
- android:layout_weight="1"
- android:layout_height="wrap_content"
- android:text="@string/forget_pwd"
- android:textSize="16sp"
- android:textColor="#777"
- android:gravity="center"
- android:layout_gravity="center_vertical"
- android:layout_marginLeft="10dp"
- android:layout_marginRight="30dp"
- />
- </LinearLayout>
- <Button
- android:id="@+id/login_button"
- android:layout_below="@id/linearlayout"
- android:layout_width="fill_parent"
- android:layout_height="35dp"
- android:layout_marginLeft="15dp"
- android:layout_marginRight="15dp"
- android:layout_marginTop="10dp"
- android:layout_centerHorizontal="true"
- android:text="@string/login_button"
- android:textColor="#ffffff"
- android:background="@drawable/login_button_selector"
- />
- <TextView
- android:id="@+id/register_now"
- android:layout_below="@id/login_button"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="45dp"
- android:text="@string/register_now"
- android:layout_centerInParent="true"
- android:textColor="#ff0000"
- android:textSize="18sp"
- />
2.自定义显示效果
input_box_selector.xml
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:state_focused="false" android:drawable="@drawable/input_normal" />
- <item android:state_focused="true" android:drawable="@drawable/input_focused" />
- </selector>
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
- <!-- 描边 -->
- <stroke
- android:width="1dp"
- android:color="#cccccc" />
- <!-- 设置按钮的四个角为弧形 -->
- <corners android:radius="10dp" />
- </shape>
- <?xml version="1.0" encoding="utf-8"?>
- <shape xmlns:android="http://schemas.android.com/apk/res/android"
- android:shape="rectangle">
- <!-- 描边 -->
- <stroke
- android:width="1dp"
- android:color="#c70900" />
- <!-- 设置按钮的四个角为弧形 -->
- <corners android:radius="10dp" />
- </shape>
- <style name="MyCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
- <item name="android:button">@drawable/login_checkbox_style</item>
- </style>
login_checkbox_style.xml
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:drawable="@drawable/checkbox_clickred" android:state_checked="true"/>
- <item android:drawable="@drawable/checkbox_click" android:state_checked="false"/>
- <item android:drawable="@drawable/checkbox_click"/>
- </selector>
- checkbox_click.png
- 是两张图片
4.该登录按钮的自定义选择器
login_button_selector.xml
- <?xml version="1.0" encoding="utf-8"?>
- <selector xmlns:android="http://schemas.android.com/apk/res/android" >
- <item android:state_pressed="false">
- <shape android:shape="rectangle" >
- <!-- 填充的颜色在strings里面 -->
- <solid android:color="@drawable/clr_normal"></solid>
- <!-- 设置按钮的四个角为弧形 -->
- <corners android:radius="10dp" />
- </shape>
- </item>
- <item android:state_pressed="true">
- <shape android:shape="rectangle">
- <!-- 填充的颜色在strings里面 -->
- <solid android:color="@drawable/clr_pressed" />
- <!-- 设置按钮的四个角为弧形 -->
- <corners android:radius="10dp" />
- </shape>
- </item>
- </selector>
- <resources>
- <drawable name="clr_normal">#c70900</drawable>
- <drawable name="clr_pressed">#FF3333</drawable><span style="font-family: Arial, Helvetica, sans-serif;"> </span>
- <pre name="code" class="html"> <string name="forget_pwd">忘记密码?</string>
- <string name="login_button">登录</string>
- <string name="login_remember_psw">记住密码</string>
- <string name="register_now">还没有账号,立即注册</string>