博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中自定义控件
阅读量:6590 次
发布时间:2019-06-24

本文共 2188 字,大约阅读时间需要 7 分钟。

 其他直接上代码

Download 
  
 
  1. <span style="font-size: 14px">import android.content.Context;  
  2. import android.view.ViewGroup;  
  3. import android.widget.ImageView;  
  4. import android.widget.LinearLayout;  
  5. import android.widget.RelativeLayout;  
  6. import android.widget.TextView;  
  7.    
  8. public class MyViewTest extends RelativeLayout {  
  9.    
  10.     private final int WC = LinearLayout.LayoutParams.WRAP_CONTENT;  
  11.     private final int FP = LinearLayout.LayoutParams.FILL_PARENT;  
  12.     private final static  String TAG = MyViewTest.class.getSimpleName();  
  13.     /**  
  14.      *  
  15.      * @param context  
  16.      * @param backgroudPic  背景图片的ID  为空则为默认  
  17.      * @param imagePic     按钮前面的图片   为空则为默认  
  18.      * @param text         按钮的文本             为空则为默认  
  19.      */  
  20.    
  21.     public MyViewTest(Context context, Integer backgroudPic , Integer imagePic , String text) {  
  22.         super(context);  
  23.         // TODO Auto-generated constructor stub  
  24.         if(backgroudPic==null)  
  25.             this.setBackgroundResource(R.drawable.my_music_button);  
  26.         else  
  27.             this.setBackgroundResource(backgroudPic);  
  28.    
  29.         ImageView  imageView =  new ImageView(context);  
  30.         if(imagePic==null)  
  31.             imageView.setImageResource(R.drawable.style1_button_icon_normal);  
  32.         else  
  33.             imageView.setImageResource(imagePic);  
  34.         imageView.setId(1);  
  35.         RelativeLayout.LayoutParams lp1 = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,  
  36.                 ViewGroup.LayoutParams.WRAP_CONTENT);  
  37.         lp1.addRule(RelativeLayout.RIGHT_OF , 1);  
  38.    
  39.         TextView  textView =  new TextView(context);  
  40.         if(text==null)  
  41.             textView.setText("my custom button");  
  42.         else  
  43.             textView.setText(text);  
  44.         this.addView(imageView);  
  45.         this.addView(textView , lp1);  
  46.    
  47.     }  
  48.    
  49. }  

其中R.drawable.my_music_button 是一个XML文件,定义了按钮的选中点击等事件发生时,背景图片的变化,直接更改文件中相应的图片便可

Download 
 
 

 

 
  1. <span style="font-size: 14px"><?xml version="1.0" encoding="UTF-8"?> 
  2. </span> 
  3. <selector xmlns:android="http://schemas.android.com/apk/res/android"><span style="font-size: 14px"> 
  4.    
  5.     </span><item android:drawable="@drawable/my_button_bg" android:state_pressed="true"><span style="font-size: 14px"> 
  6.     </span><item android:drawable="@drawable/my_button_bg" android:state_focused="true"><span style="font-size: 14px"> 
  7.     </span><item android:drawable="@drawable/my_music_button_bg"><span style="font-size: 14px"> 
  8.    
  9. </span></item></item></item></selector><span style="font-size: 14px"> 
  10. </span> 

 

本文转自 最牛傻蛋 51CTO博客,原文链接:http://blog.51cto.com/zuiniuwang/718260,如需转载请自行联系原作者

你可能感兴趣的文章
确定两串乱序同构
查看>>
寒假研究计划
查看>>
Android:ListView、BaseAdapter、convertView、ListView优化及事件、notifyDataSetChanged()
查看>>
新版发布功能上线,新增「大屏快照」功能!
查看>>
代码调优及其他zz
查看>>
Centos7+Postfix+Dovecot实现邮件收发
查看>>
“蒜你狠”和“豆你玩”的遐想。。
查看>>
无法解析连接描述中指定的SID
查看>>
ext3格式化成ext4
查看>>
自己编译redhat 9.0内核心得
查看>>
SQL Server数据库的管理及维护
查看>>
Silverlight在MSDN类库中的小变化
查看>>
再说java多线程Thread
查看>>
两种Web页面局部刷新技术的简单较量
查看>>
管理学中的知名定律之阿什法则
查看>>
Android客户端应用享用传统Web服务
查看>>
Exchange企业实战技巧(17)让密件抄送给特定用户
查看>>
PowerShell获取特定“描述”的虚拟机IP地址
查看>>
做一个实效的程序员
查看>>
SQL2K数据库开发二十之视图操作删除视图
查看>>