【新手--android日记】实现IOS风格电话界面

【前言--新手日记】

开始学习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>
View Code

   

三、顶部设计

 

  (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       />
左边Button
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         />
右边Button

中间的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>
默认时候的background
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>
press后的background
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>
RadioButton的selector

 

转载于:https://www.cnblogs.com/treeLikeStar/p/4808055.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值