Android QQ新用户注册界面绘制
程序员文章站
2024-03-07 12:56:21
先看看效果图:
问题:
1、下拉列表(因为还没看到这里...)
2、标题栏显示问题
3、按钮的 enable 设...
先看看效果图:
问题:
1、下拉列表(因为还没看到这里...)
2、标题栏显示问题
3、按钮的 enable 设置
..........
以下是代码:
布局 fragment_main(问题1)
<relativelayout 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:focusable="true" android:focusableintouchmode="true" android:background="#f7f7f9" tools:context="com.dragon.android.qqregist.mainactivity$placeholderfragment" > <button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="50dp" android:layout_alignparenttop="true" android:background="#ffffff" android:drawableleft="@drawable/aa" android:text="@string/button2" android:textcolor="#1cbaf5" /> <textview android:id="@+id/textview2" android:layout_width="match_parent" android:layout_height="50dp" android:layout_alignbaseline="@+id/button2" android:layout_alignbottom="@+id/button2" android:background="#ffffff" android:gravity="center" android:text="@string/pagename" android:textcolor="#1cbaf5" /> <linearlayout android:id="@+id/linear" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_below="@id/button2" android:paddingtop="30dp" android:paddingbottom="20dp" > <spinner android:id="@+id/spinner1" android:layout_width="0dp" android:layout_height="wrap_content" android:background="@drawable/bg_spinner" android:layout_weight="1" android:entries="@array/country"/> <edittext android:id="@+id/edittext1" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="2" android:background="@drawable/bg_edittext" android:ems="10" android:inputtype="phone" android:hint="@string/innum" android:color="#000000" android:textsize="15sp" > </edittext> </linearlayout> <button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginleft="10dp" android:layout_marginright="10dp" android:layout_below="@id/linear" android:enabled="false" android:background="@drawable/bg_button" android:text="@string/button" android:gravity="center" android:textcolor="#ffffff" /> <checkbox android:id="@+id/checkbox1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margintop="10dp" android:layout_marginleft="10dp" android:layout_below="@id/button1" android:text="@string/sure" android:textsize="12sp" android:textcolor="#a6a6a7" /> <textview android:id="@+id/textview1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignbaseline="@+id/checkbox1" android:layout_alignbottom="@+id/checkbox1" android:layout_marginleft="10dp" android:layout_torightof="@+id/checkbox1" android:autolink="all" android:text="@string/protocol" android:textsize="12sp" /> </relativelayout>
edittext、spinner 以及 button 修改前后的背景
1.bg_edittext
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <stroke android:width="1px" android:color="#bebebe"/> <solid android:color="#ffffff" /> <padding android:left="10dp" android:top="10dp" android:bottom="10dp"/> </shape>
2.bg_spinner
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <stroke android:width="1px" android:color="#bebebe"/> <solid android:color="#ffffff" /> <padding android:left="10dp" android:top="10dp" android:bottom="10dp"/> </shape>
3.bg_button
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#808080"/> <corners android:radius="10dp"/> <padding android:top="10dp" android:bottom="10dp"/> </shape>
4.bg_buttin_change
<?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#1cbaf5"/> <corners android:radius="10dp"/> <padding android:top="10dp" android:bottom="10dp"/> </shape>
spinner 的下拉数据 arrays
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="country"> <item >中国 +86</item> <item >香港 +852</item> <item >澳门 +853</item> <item >* +886</item> <item >日本 +81</item> <item >美国 +1</item> <item >英国 +44</item> </string-array> </resources>
标题栏的背景(问题2 -- 放弃)
<?xml version="1.0" encoding="utf-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="bg_title" parent="android:theme"> <item name="android:windowtitlebackgroundstyle">@style/titleground</item> <item name="android:windowtitlestyle">@style/windowtitlestyle</item> <item name="android:windowtitlesize">40dp</item> </style> <style name="titleground"> <item name="android:background">#ffffff</item> </style> <style name="windowtitlestyle"> <item name="android:text">@string/pagename</item> <item name="android:textcolor">#1cbaf5</item> <item name="android:paddingtop">2dp</item> <item name="android:paddingbottom">2dp</item> <item name="android:textsize">20sp</item> </style> </resources>
问题2替换方法:隐藏标题栏 -- 在 androidmanifest 中添加 -- android:theme="@android:style/theme.notitlebar" >
mainactivity (问题3)
package com.dragon.android.qqregist; import android.annotation.suppresslint; import android.app.activity; import android.graphics.color; import android.os.bundle; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemselectedlistener; import android.widget.button; import android.widget.checkbox; import android.widget.compoundbutton; import android.widget.compoundbutton.oncheckedchangelistener; import android.widget.edittext; import android.widget.spinner; import android.widget.toast; public class mainactivity extends activity { private spinner spinner = null; private edittext edittext1; private button button2; private button button1; private checkbox checkbox1; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.fragment_main); spinner = (spinner) findviewbyid(r.id.spinner1); spinner.setselection(0); edittext1 = (edittext) findviewbyid(r.id.edittext1); edittext1.sethinttextcolor(color.gray); button2 = (button) findviewbyid(r.id.button2); // 设置空间置顶 button2.bringtofront(); button1 = (button) findviewbyid(r.id.button1); // spinner 选择监听事件 spinner.setonitemselectedlistener(new onitemselectedlistener() { @override // parent当前spinner pos/id选中的值所在位置/行 public void onitemselected(adapterview<?> parent, view view, int pos, long id) { // 得到string-array string[] country = getresources().getstringarray( r.array.country); toast.maketext(mainactivity.this, "你选择的是:" + country[pos], toast.length_short).show(); } @override public void onnothingselected(adapterview<?> parent) { // another interface callback } }); checkbox1 = (checkbox) findviewbyid(r.id.checkbox1); checkbox1.setoncheckedchangelistener(new oncheckedchangelistener() { @override @suppresslint("newapi") public void oncheckedchanged(compoundbutton view, boolean inchecked) { button1.setenabled(inchecked); if (!inchecked) { // 设置按钮的背景 button1.setbackground(getresources().getdrawable( r.drawable.bg_button)); } else { button1.setbackground(getresources().getdrawable( r.drawable.bg_button_change)); } } }); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: xpath的数据和节点类型以及XPath中节点匹配的基本方法
下一篇: C#控件命名规范