标签:
【前言--新手日记】
开始学习android开发,通过做一个通讯录练习,打算实现各种自己想实现的功能。
新手作品,技术含量很浅。主要是记录自己的学习过程。
纯学习之用,求评论,求建议,求教导。
【正题】
一、下了好多通话软件,感觉都不怎么样,表示还是比较喜欢原来的QQ通讯录。现在换成微信通讯录,没以前的感觉好。
最后还是倾向于选择IOS的电话界面。
先附图:
IOS的:
元器件很简单,主要问题还是在布局方面。
分底部和顶部两部分说吧。
二、底部设计:
底部设计,RadioGroup加四个RadioButton。
(1)布局方面
布局的均匀分布。(突然怀念WPF的UniformGrid)
实现均匀分布刚开始自己做的时候感觉还是很棘手,学会了就很简单了。
相关知识网站:http://blog.csdn.net/xiechengfa/article/details/38334327
看了这个就明白的。其实就是layout_weight的应用。
(2)效果设计
个性化RadioButton--没有选择框框,一个图片在上面的这种定义
代码:
1 <RadioButton
2 android:id="@+id/contact"
3 android:layout_width="0dp"
4 android:layout_height="wrap_content"
5 android:layout_weight="1"
6 android:layout_gravity="bottom"
7 android:gravity="center_horizontal"
8 android:text="@string/contact"
9 android:button="@null"
10 android:textColor="@drawable/rbtn_textcolor_selector"
11 android:drawableTop="@drawable/rbtn_contact_icon_selector"
12 android:background="@drawable/rbtn_menu_background_selector" />
由于这里是点击之后一直保持那种状态,所以选择checked作为标准。
直接上代码,很好理解的。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true" android:drawable="@mipmap/callpress" />
<item android:drawable="@mipmap/call" />
</selector>
三、顶部设计
(1)布局设计
采用的是RelativeLayout布局,Button+RadioGroup+Button。
直接上代码,只展示了布局的那一部分:
1 <Button
2 android:layout_alignParentStart="true"
3 android:layout_alignParentLeft="true"
4 android:layout_centerInParent="true"
5 android:layout_marginStart="5dp"
6 android:layout_marginLeft="5dp"
7 android:gravity="center"
8 />
1 <Button
2 android:layout_alignParentEnd="true"
3 android:layout_alignParentRight="true"
4 android:layout_centerInParent="true"
5 android:layout_marginEnd="5dp"
6 android:layout_marginRight="5dp"
7 android:gravity="center"
8 />
中间的RadioGroup只有两句句
android:layout_centerInParent="true"
android:gravity="center"
【但是这样写会有warning,意思是屏幕小的话这样Button与RadioGroup会产生重叠。】
【如果有好的布局方式,请评论给我,谢谢】
(2)效果设计
主要需要了解的是中间的那一块效果。
也是直接上代码+网站吧。这些,其实看了就会了。
网站:http://blog.csdn.net/brokge/article/details/9713041
这里只是左边部分,右边部分省略。
1 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 2 <item> 3 <shape> 4 <solid android:color="@color/white" /> 5 <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="10dp" android:topRightRadius="0dp" android:topLeftRadius="10dp" /> 6 <stroke android:width="1dp" android:color="@color/themecolor" /> 7 <padding android:left="10dp" android:top="5dp" android:right="5dp" android:bottom="5dp" /> 8 </shape> 9 </item> 10 </selector>
1 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 2 <item> 3 <shape> 4 <solid android:color="@color/themecolor" /> 5 <corners android:bottomRightRadius="0dp" android:bottomLeftRadius="10dp" android:topRightRadius="0dp" android:topLeftRadius="10dp" /> 6 </shape> 7 </item> 8 </selector>
1 <selector xmlns:android="http://schemas.android.com/apk/res/android"> 2 <item android:state_checked="true" android:drawable="@drawable/nvgbar1_background_press" /> 3 <item android:drawable="@drawable/nvgbar1_background_default" /> 4 </selector>
标签:
原文地址:http://www.cnblogs.com/treeLikeStar/p/4808055.html