`

android中如何自定义attributes

 
阅读更多
写程序中可能需要用到一些自定义的view控件,这样就需要增加一些自定义的属性。

比如说我要做个股票报价的TextView,涨是红色,跌是绿色

1。先在values目录下创建styles.xml

<resources>

<style name=" Widget. MyTextView"  parent="android:Widget" >

<item name="positiveColor" >#FFFF0000</item>

<item name="negetiveColor" >#FF00FF00</item>

</style>

</resources>

2。上面的步骤完成后,在values目录下创建一个attrs.xml文件,告诉程序你自定义的item是什么类型的

<resources>

<declare-styleable name=" MyTextView" >

<attr name=" positiveColor "  format="color"  /> 

<attr name=" negetiveColor "  format=" color " />

</declare-styleable>

</resources>

3。在layout设计中引用自定义view并加入style

<com.pan.MyTextView

style="@style/ Widget. MyTextView"  

android:layout_width="wrap_content" 

android:layout_height="wrap_content" />

4。activity中读取

int positiveColor;

int negetiveColor;

public   MyTextView(Context context, AttributeSet attrs, int  defStyle)

{

             super (context, attrs, defStyle);

             TypedArray a = context.obtainStyledAttributes(   attrs, R.styleable.TestView, defStyle, 0 );

              int  n = a.getIndexCount();                          

              for  (int  i = 0 ; i < n; i++)

              {

                 int  attr = a.getIndex(i);

                 switch  (attr)

                 {

                       case  R.styleable.MyTextView_positiveColor:

                               positiveColor = a.getColor(attr, Color.RED);

                                break ;

                      case  R.styleable.MyTextView_negetiveColor:

                               negetiveColor = a.getColor(attr, Color.Green);

                                break ;

                  }        

               }     

分享到:
评论

相关推荐

    android 自定义Editext

    在Android开发中,自定义`EditText`是一种常见的需求,它允许开发者根据应用的特定需求来扩展或修改系统提供的默认编辑框功能。自定义`EditText`可以实现诸如输入格式验证、特殊样式显示、交互效果增强等多种功能。...

    Android中自定义控件View

    在自定义View类中,使用`getAttributes()`方法获取这些属性值。 - 为了支持样式,可以创建`styleable`数组,然后在`TypedArray`中解析它们,这样就可以在XML中为自定义View指定样式。 6. **使用自定义View** - 在...

    Android 编写自定义控件实例

    在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本教程将通过一个具体的实例——saRoundProgressBarDemo,来教你如何编写一个自定义的圆形进度条控件。这个自定义控件不仅提供了基本的进度显示...

    Android:自定义Dialog-Demo

    在Android开发中,Dialog是一种非常常见的用户交互组件,它用于显示一些临时信息或者进行简单的用户操作。当系统默认的Dialog样式不能满足应用的特定需求时,开发者常常会选择自定义Dialog来实现更个性化的界面和...

    Android 自定义dialog

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据项目需求定制Dialog的样式、功能和交互方式,以提供更符合用户体验的界面。本文将深入探讨如何在Android中实现自定义Dialog,包括封装点击事件、...

    Android自定义全屏Dialog实例

    在Android开发中,自定义全屏Dialog是一种常见的需求,它能提供更为沉浸式的用户体验,使得用户在处理特定任务时能够更加专注。本教程将详细讲解如何实现这样一个功能,旨在帮助开发者提升Android应用的界面设计与...

    android自定义popwindow

    ### Android自定义PopupWindow实现比例控制 在Android开发过程中,`PopupWindow`是一种常见的用于创建弹窗的方法。本文将详细介绍如何通过自定义`PopupWindow`来实现对其大小的比例控制,以便适应不同分辨率的屏幕...

    《Android自定义控件入门到实战》源码

    通过《Android自定义控件入门到实战》源码的学习,开发者可以从实践中探索这些知识点,逐步掌握自定义控件的设计与实现技巧。这些源码实例将涵盖各种自定义控件的实现,如进度条、滑块、日历、图表等,帮助开发者在...

    Android自定义view——组合控件

    在Android开发中,自定义View是一项重要的技能,它允许开发者根据特定需求创建独特的用户界面元素。本主题将深入探讨如何在Android中实现自定义组合控件,即利用多个基础控件构建一个具有特殊功能或样式的复合视图。...

    Android自定义dialog

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格和功能需求创建出独具特色的对话框。本文将深入探讨如何在Android中实现自定义Dialog,并提供相关实践步骤。 首先,我们来理解一下...

    Android-自定义RadiusView包含常用的Layout和View方便扩展

    在Android开发中,自定义视图(View)和布局(Layout)是提升应用独特性和功能扩展性的重要手段。本主题“Android-自定义RadiusView包含常用的Layout和View方便扩展”聚焦于创建一个自定义的RadiusView,它不仅具有...

    Android支付底部弹窗自定义dialog

    在Android应用开发中,自定义对话框(Dialog)是一种常见的用户交互方式,特别是在涉及到支付功能时,为了提供更好的用户体验,通常会使用底部弹窗来显示支付选项。本篇将详细介绍如何在Android中实现一个自定义的...

    Android自定义控件步骤总结

    1. 如果自定义的 view 是直接放在 layout 布局文件中应用的话,则其构造函数中一定有包含 Attributes 类型参数,否则会付出 Error inflate 错误。 2. 如果是在 java 代码中直接创建自定义 view 对象的话,则只需有 ...

    Android仿淘宝自定义半透明圆角Dialog.zip

    在Android开发中,创建自定义对话框(Dialog)是一项常见的任务,它能够提供更好的用户体验,让用户专注于当前操作而不会被整个界面所干扰。本项目"Android仿淘宝自定义半透明圆角Dialog.zip"旨在实现一个与淘宝应用...

    AttrTest android自定义属性

    在Android开发中,自定义属性(Custom Attributes)是提升应用可复用性和灵活性的重要手段。它们允许开发者扩展Android系统默认的属性系统,为自定义组件添加额外的配置选项。本实例将带你深入理解如何在Android中...

    Android例子源码HerilyAlertDialog完全自定义的Dialog

    在Android开发中,自定义Dialog是一种常见的需求,它允许开发者根据应用的设计风格和功能需求创建独特的对话框。本文将深入探讨如何使用Android源码来实现一个名为HerilyAlertDialog的完全自定义Dialog。这个例子...

    Android自定义圆环CircleView

    在Android开发中,...总结,`Android自定义圆环视图CircleView`涉及到Android自定义视图的创建、属性支持以及XML布局中的使用。通过理解并实践这些步骤,开发者可以扩展Android视图功能,创造出更丰富的用户界面。

    解决Android中自定义DialogFragment解决宽度和高度问题

    在Android开发中,DialogFragment是Android 3.0版本引入的一种特殊Fragment...通过以上内容,我们可以了解到如何使用DialogFragment以及如何自定义其尺寸和动画效果,从而在Android应用中创建出满足特定需求的对话框。

    Android自定义Dialog弹窗提示

    本篇将详细介绍如何在Android中创建自定义的Dialog弹窗提示。 首先,我们需要理解Dialog的基本结构。Dialog通常由一个对话框窗口和一个内容视图组成。窗口负责Dialog的整体外观,包括背景、边框和阴影等;内容视图...

    android 自定义圆角的头像

    在Android开发中,自定义视图是实现特定功能或美化应用界面的重要手段。本文将深入探讨如何在Android中创建一个自定义的圆角头像视图。标题中的"android 自定义圆角的头像"正是我们要实现的目标,通过这个自定义视图...

Global site tag (gtag.js) - Google Analytics