精仿QQ设置界面(自定义PreferenceActivity)

创新源于模仿!
前段时间给大家分享了UC半透明菜单的实现
原帖链接如下:

高仿UC半透明MENU菜单(有图有真相)
http://www.eoeandroid.com/forum. ... &fromuid=485185

今天,再给大家分享一下QQ设置界面的UI布局实现,不罗嗦,直接上图

设置主界面
device1.png
2011-11-19 22:49:20 上传
下载附件 (109.08 KB)


皮肤设置界面
device2.png
2011-11-19 22:49:43 上传
下载附件 (201.41 KB)


流量统计界面
device3.png
2011-11-19 22:49:51 上传
下载附件 (97.37 KB)


好友设置界面(其实这个不在设置界面里,工程里有该ACTIVITY,就在最后加上了)
device4.png
2011-11-19 22:50:01 上传
下载附件 (99.56 KB)



在开发应用程序的过程中我们有很大的机会需要用到参数设置功能
那么在Android应用中,我们如何实现参数设置界面及参数存储呢
答案是使用PreferenceActivity,相信大家并不陌生
只不过系统自带的样式黑布隆冬的,看起来很不美观,难登大雅之堂
只要我们稍加修饰,便可扭转乾坤,化别扭为和谐


主要是在MainFeast配置文件里给ACTIVITY加上自定义的样式

  1.         <activity android:name=".SettingActivity"
  2.                   android:label="设置与帮助"
  3.                   android:theme="@style/Default"
  4.                   android:configChanges="keyboardHidden|orientation" >
  5.             <intent-filter>
  6.                 <action android:name="android.intent.action.MAIN" />
  7.                 <category android:name="android.intent.category.LAUNCHER" />
  8.             </intent-filter>
  9.         </activity>
复制代码
且看 Style.xml配置文件
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>

  3.         <style name="CustomWindowTitleBackground">
  4.         <item name="android:background">@drawable/skinpic_green</item>
  5.     </style>
  6.    
  7.      <style name="CustomWindowTitleText" >  
  8.           <item name="android:textSize">20dip</item>  
  9.           <item name="android:textColor">#FFffffff</item>  
  10.           <item name="android:paddingLeft">10dp</item>
  11.      </style>
  12.    
  13.    
  14.     <style name="customCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
  15.         <item name="android:button">@drawable/selector_checkbox</item>
  16.     </style>
  17.    
  18.    
  19.     <style name="customListView" parent="@android:style/Widget.ListView">
  20.         <item name="android:scrollbarSize">10.0dip</item>
  21.         <item name="android:scrollbarThumbVertical">@drawable/scrollbar_handle_vertical</item>
  22.         <item name="android:listSelector">@drawable/selector_list</item>
  23.         <item name="android:cacheColorHint">#00000000</item>
  24.     </style>
  25.    

  26.    
  27.     <style name="Default.NoTitleBar" parent="@android:style/Theme.Light.NoTitleBar">
  28.                 <item name="android:textColorPrimaryInverse">@android:color/black</item>          
  29.         <item name="android:windowBackground">@color/window_bg</item>
  30.         <item name="android:windowContentOverlay">@null</item>
  31.         <item name="android:windowTitleSize">42.0dip</item>
  32.         <item name="android:windowTitleStyle">@style/CustomWindowTitleText</item>
  33.         <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
  34.         <item name="android:checkboxStyle">@style/customCheckBox</item>
  35.         <item name="android:listViewStyle">@style/customListView</item>
  36.         
  37.     </style>
  38.    
  39.    
  40.     <style name="Default" parent="@style/Default.NoTitleBar">
  41.         <item name="android:windowNoTitle">false</item>
  42.     </style>
  43.    
  44.    
  45. </resources>
复制代码
本例只用到了CheckBox和ListView,如果大家的设置界面有用到其它控件
如editText,radioButton之类的,只需依葫芦画瓢,加上editTextStyle,radioButtonStyle即可
如需自定义Preference布局,则需派生一个Preference子类,并配置相关XML布局文件
详情请见:http://blog.csdn.net/aomandeshangxiao/article/details/6659346
在此就不多言了

像好友资料这样的UI布局还是很常见的,很多人可能不知道怎么实现
主要是采用了线形布局,一个白框是个linearlayout,白框内一行行的同样是linearlayout
分割线则是采用了shape的配置布局
类似
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <shape android:shape="rectangle"
  3.   xmlns:android="http://schemas.android.com/apk/res/android">
  4.     <solid android:color="#ffe0e0e0" />
  5. </shape>
复制代码
当然类似布局的实现未必都是如此,这里只是给大家提供一个思路

好了其它的也不多说了,自己下工程看吧


源代码下载地址:http://www.eoeandroid.com/thread-116148-1-4.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值