Android怎么实现圆形纯数字按钮

  介绍

这篇文章主要介绍了Android怎么实现圆形纯数字按钮,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。

最近在搞一个数字拨号按键按钮,就想到使用显示数据表格,但在实现中遇到点问题,在给数字键进行圆形状态键设置时发现一个问题,显示数据表格中自带的原生选择矩形按钮总是存在,于是就想到了让其状态背景设置成透明。

 Android怎么实现圆形纯数字按钮”> <br/> </p> <p> <强>一、自定义按钮控件RelativeLayout </强> </p> <pre类= public  class  KeyboardView  extends  RelativeLayout  {   Context 才能;mContext;   private 才能GridView 显示数据表格;   private 才能;List< Map<字符串,,String>祝辞,dataList;   public 才能KeyboardView (Context 上下文),{   ,,,这(上下文,null);   ,,}   public 才能;KeyboardView (Context 上下文,AttributeSet  attrs), {   ,,,超级(上下文,attrs);   ,,,this.mContext =,上下文;   ,,,View  View =, View.inflate(上下文,R.layout.layout_virtual_keyboard,, null);   ,,,dataList =, new  ArrayList<在();   ,,,gridView =,(显示数据表格),view.findViewById (R.id.gv_keybord);   ,,,initDataList ();   ,,,setupView ();   ,,,addView(视图),,//添加视图   ,,}   public 才能;List< Map<字符串,,String>祝辞,getDataList (), {   ,,,return  dataList;   ,,}   private 才能;void  initDataList(),{,,//初始化数字数据   ,,,for  (int 小姐:=,1;,小姐:& lt;, 13;,我+ +),{   ,,,,,Map<字符串,String>, map =, new  HashMap<在();   ,,,,,if (小姐:& lt;, 10), {   ,,,,,,,map.put (“keyName",, String.valueOf(我));   ,,,,,},else  if (小姐:==,10),{   ,,,,,,,map.put (“keyName",,“*”);   ,,,,,},else  if (小姐:==,11),{   ,,,,,,,map.put (“keyName",, String.valueOf (0));   ,,,,,},else  if (小姐:==,12),{   ,,,,,,,map.put (“keyName",,“#”);   ,,,,,}   ,,,,,dataList.add(地图);   ,,,}   ,,}   public 才能;GridView  getGridView (), {   ,,,return 显示数据表格;   ,,}   private 才能;void  setupView (), {   ,,,KeyBoardAdapter  KeyBoardAdapter =, new  KeyBoardAdapter (dataList mContext也);   ,,,gridView.setAdapter (keyBoardAdapter);   ,,}   }

填充的显示数据表格布局其中android: listSelector=癅android:颜色/透明”设置显示数据表格选择器背景为透明色就可以按照项目设置的样式显示状态选择了

& lt; ? xml  version=?.0“,编码=皍tf-8" ?比;   & lt; FrameLayout  xmlns: android=癶ttp://schemas.android.com/apk/res/android"   android:才能layout_width=皐rap_content"   android:才能背景=? 3 f51b5"   android:才能layout_height=皐rap_content"比;   & lt;才能!——,键盘,——比;   & lt;才能显示数据表格   ,,,android: id=癅 + id/gv_keybord"   ,,,android: layout_width=皐rap_content"   ,,,android: layout_height=皐rap_content"   ,,,android: layout_alignParentBottom=皌rue"   ,,,android: listSelector=癅android:颜色/transparent"   ,,,android: horizontalSpacing=? dp"   ,,,android: numColumns=?”;   ,,,android: verticalSpacing=? dp",/比;   & lt;/FrameLayout>

二,显示数据表格适配器,其中填充的项的背景可以是UI切的选型图,也可以自己通过形状绘制出来

public  class  KeyBoardAdapter  extends  BaseAdapter  {   private 才能;Context  mContext;   private 才能;List< Map<字符串,,String>祝辞,mDataList;   public 才能;KeyBoardAdapter (Context 上下文,List祝辞,dataList), {   ,,,this.mContext =,上下文;   ,,,this.mDataList =, dataList;   ,,}   @Override才能   public 才能;int  getCount (), {   ,,,return  mDataList.size ();   ,,}      @Override才能   public 才能;Object  getItem (int 位置),{   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

Android怎么实现圆形纯数字按钮