创新源于模仿之六:仿iPhone的分组列表做一个配置界面

简介:
 

这个效果现在很多见了,象新浪微博客户端的“我的资料”,MIUI中的设置,米聊中的“名片”,,,等等等等。iPhone啊,你让Android程序员伤不起。

 

 

这个功能的实现很简单,如果你想简单的话,就是一个图片和布局的问题。今天继续拿来主义,反编译一下米聊的代码,从它的res里寻找我们需要的东西。

 

在res/drawable-hdpi/namecard_xxxxxxx 这些图片就是我们需要的资源,小米的设计人员做的图就是精细,比新浪的好多了。

 

使用上有两种方法,米聊的“名片”是一个ListActivity,所以,需要定义一个Item类封装一下每个项目(显示名称、弹出文本编辑框还是选择框、取值等等),然后在ArrayAdapter中的getView中,针对不同的Item分别加载对应的layout显示出来即可。

 

但是我觉得更简单的方法就是直接放在一个layout中,反正设置页又没有多少动态的项目,直接用普通的Activity就可以了,ListActivity有点学浪费了。

 

<RelativeLayout 
    	android:paddingTop="10.0dip" 
    	android:paddingBottom="5.0dip" 
    	android:layout_width="fill_parent" 
    	android:layout_height="wrap_content">
    	
    	<FrameLayout 
    		android:layout_gravity="center" 
    		android:background="@drawable/settings_item_bkg_left"
    		android:id="@+id/settings_basic_avatar_cont" 
    		android:paddingLeft="10.0dip" 
    		android:paddingTop="10.0dip" 
    		android:paddingRight="10.0dip" 
    		android:paddingBottom="20.0dip" 
    		android:layout_width="100.0dip" 
    		android:layout_height="110.0dip">
        	<ImageView 	    		
	    		android:layout_gravity="center" 
	    		android:id="@+id/settings_basic_avatar" 
	    		android:layout_width="80.0dip" 
	    		android:layout_height="80.0dip" 
	    		android:src="@drawable/avatar_default"
	    		android:scaleType="centerCrop" />
    	</FrameLayout>
    	<LinearLayout 
    		android:id="@+id/settings_basic_name_cont" 
    		android:background="@drawable/settings_item_rt_bg"
    		android:layout_toRightOf="@id/settings_basic_avatar_cont"
    		android:layout_alignTop="@id/settings_basic_avatar_cont"    		
    		android:layout_width="fill_parent" 
    		android:layout_height="wrap_content">
            <TextView 
            	android:textSize="16.0dip" 
            	android:textColor="#c0000000" 
            	android:layout_gravity="left|center" 
            	android:id="@+id/settings_basic_name" 
            	android:layout_width="0.0dip" 
            	android:layout_height="wrap_content" 
            	android:layout_marginLeft="10.0dip" 
            	android:text="nick name"
            	android:layout_weight="1.0" />
            <ImageView 
    			android:layout_gravity="center_vertical" 
    			android:layout_width="wrap_content" 
    			android:layout_height="wrap_content" 
    			android:layout_marginRight="10.0dip" 
    			android:scaleType="fitXY"
    			android:src="@drawable/item_clickable" />
    	</LinearLayout>


 

 

其实就是每个元素的background,选择合适的有圆角的白底的图片做背景就可以达到效果。当然整个页面应该是浅灰色的为宜。

 

这样就OK了。真得很简单但是效果一下就出来了。

相关文章
|
iOS开发 数据安全/隐私保护
|
Web App开发 存储 iOS开发
Fiddler 抓包配置iphone为例
Fiddler 抓包配置iphone为例
205 0
Fiddler 抓包配置iphone为例
|
Android开发 iOS开发
iOS配置证书:Provisioning profile "xx_Distribution" doesn't include signing certificate "iPhone Developer
iOS配置证书:Provisioning profile "xx_Distribution" doesn't include signing certificate "iPhone Developer
536 0
|
机器学习/深度学习 缓存 供应链
一次发4款iPhone新机!全部配置5G+A14芯片,还能打手游英雄联盟,最低5500元
一次发4款iPhone新机!全部配置5G+A14芯片,还能打手游英雄联盟,最低5500元
178 0
|
iOS开发
iOS App Icon启动图尺寸配置适配iPhone XS XR XS Max等
前言 近期在开发新项目, 然后针对 App Icon 与 App LaunchScreen 都需要重新切一套, 需要把相应尺寸大小跟 UI 说明一下, 加上最近刚发布的我 iPhone XS XR XS Max都需要进行统一适配,同时为了让自己以及 UI 同事能更好的去了解 iPhone 不同尺寸特意整理了一下。
3706 0
|
网络协议 网络安全 Android开发
|
iOS开发 前端开发 Android开发
30套精美的 iDevices(iPhone, iPad, iOS)PSD 界面素材资源
  好的设计不是那么容易能创造出来的,反倒是一件非常有挑战的事情。不过,有很多种方式可以帮助设计师们提高设计能力,其中之一就是分析其它优秀设计师的作品细节来获取灵感。因此,这篇文章收集了30+免费的精美 iPhone, iPad, iOS, Mac 界面素材分享给大家。
1226 0
|
2月前
|
数据采集 iOS开发 Python
Chatgpt教你开发iPhone风格计算器,Python代码实现
Chatgpt教你开发iPhone风格计算器,Python代码实现