在Android中Button是一个非常常用的控件,下面我们就一起来分析一下Button源代码。

1 Button.java

 Button的源代码如下,非常简单几个构造器,它继承自TextView,添加了一个默认的com.android.internal.R.attr.buttonStyle样式。如果有时间可以学习一下TextView的源码

public class Button extends TextView {

   publicButton(Context context) {

       this(context, null);

    }

 

   publicButton(Context context, AttributeSet attrs) {

       this(context, attrs, com.android.internal.R.attr.buttonStyle);

    }

 

   publicButton(Context context, AttributeSet attrs, int defStyle) {

       super(context, attrs, defStyle);

    }

}

2 styles.xml

在android源码的styles.xml文件中关于Button的样式:

 

 

 

 

这里我们能看到button各种获取焦点、被按下的各种样式是由btn_default、btn_default_small、button_inset、btn_default_transparent这几个xml文件来控制。

 

3 btn_default.xml

   

        android:drawable="@drawable/btn_default_normal" />

   

        android:drawable="@drawable/btn_default_normal_disable" />

   

        android:drawable="@drawable/btn_default_pressed" />

   

        android:drawable="@drawable/btn_default_selected" />

   

        android:drawable="@drawable/btn_default_normal" />

   

        android:drawable="@drawable/btn_default_normal_disable_focused" />

   

         android:drawable="@drawable/btn_default_normal_disable" />

 定义了Button各种状态下用到的图片。所以如果我们想自定义一个Button的样式的话我们只需要仿着这个文件来写Button的样式就行了。

更多相关文章

  1. Android遍历文件Listfile返回值为null问题解决方法适用Android8.
  2. Android上传文件至PHP服务器
  3. Android 将activity设置成对话框样式
  4. Gradle 修改生成apk时的文件名
  5. Android 实现apk文件下载并自动安装
  6. Android客户端上传文件到服务器端
  7. Android Lib Project与Android Project中R文件的区别

随机推荐

  1. android应用程序的安装位置
  2. Android(安卓)IPC 通讯机制源码分析
  3. Android(安卓)SDCard Filesystem
  4. android selector 背景选择器
  5. Android中的File文件存储及读取file中的B
  6. android 隐藏API 在源码下编译报错cannot
  7. android sdk中的工具
  8. Android创建隐藏文件或者文件夹
  9. mk中的android:sharedUserId和LOCAL_CERT
  10. Android(安卓)SDK 2.3与Eclipse最新版开