attr 属性
style 样式
二者都是在res/values下面的xml文件
attr: for example:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
类似的"layout_height,layout_width"都是属性
style就是这个控件设定好的一些值,方便重复调用
自定义的一个样式"TextStyle"
使用的android默认的属性shadowDx..设置好的具体的值
<style name="TextStyle">
<item name="android:shadowDx">-0.5</item>
<item name="android:shadowDy">1</item>
<item name="android:shadowRadius">0.5</item>
<item name="android:singleLine">true</item>
<item name="android:ellipsize">marquee</item>
</style>
自定义的attr: 这个format就是格式
reference 表示引用,参考某一资源ID
string 表示字符串
color 表示颜色值
dimension 表示尺寸值
boolean 表示布尔值
integer 表示整型值
float 表示浮点值
fraction 表示百分数
enum 表示枚举值
flag 表示位运算
<resources>
<declare-styleable name="ViewPagerIndicator">
<!-- Style of the circle indicator. -->
<attr name="vpiCirclePageIndicatorStyle" format="reference"/>
<!-- Style of the icon indicator's views. -->
<attr name="vpiIconPageIndicatorStyle" format="reference"/>
<!-- Style of the line indicator. -->
<attr name="vpiLinePageIndicatorStyle" format="reference"/>
<!-- Style of the title indicator. -->
<attr name="vpiTitlePageIndicatorStyle" format="reference"/>
<!-- Style of the tab indicator's tabs. -->
<attr name="vpiTabPageIndicatorStyle" format="reference"/>
<!-- Style of the underline indicator. -->
<attr name="vpiUnderlinePageIndicatorStyle" format="reference"/>
</declare-styleable>
</resources>
使用的时候,在布局文件头里
添加
xmlns:
myapp="http://schemas.android.com/apk/res/包名"
在xml文件里使用跟系统自带控件一样使用
类似下面的语法
myapp:vpiIconPageIndicatorStyle="xxxxx"
====================================================================================================================================================================
上边的如果要使用自定义的属性进行自定义样式
格式应该是
<style name="Theme.PageIndicatorDefaults" parent="android:Theme">
<item name="vpiIconPageIndicatorStyle">@style/Widget.IconPageIndicator</item>
<item name="vpiTabPageIndicatorStyle">@style/Widget.TabPageIndicator</item>
</style>
//上图样式的名称是"Theme.PageIndicatorDefaults",包含两个属
//性"vpiIconPageIndicatorStyle"和"vpiTabPageIndicatorStyle",值都是引用类型的
attr和style格式都是需要<resources>起头的
获取示例:
TypedArray a = context.obtainStyledAttributes(null, R.styleable.ViewPagerIndicator,0, 0);
int rsid= a.getResourceId(R.styleable.ViewPagerIndicator_vpiTabPageIndicatorStyle, 0);
a.recycle();//必须回收
分享到:
相关推荐
首先,自定义Attr涉及到的主要步骤包括:定义属性、在资源文件中声明属性、解析属性值以及在代码中使用属性。让我们逐一探讨这些步骤: 1. **定义属性**: 在res/values目录下创建一个attr.xml文件(如果没有的话...
本篇将深入探讨如何在Android中实现`Preference`的自定义样式。 首先,理解Preference的基本用法是关键。Preference通常在XML布局文件中定义,并通过`<preference-headers>`标签在设置活动中声明。例如: ```xml ...
本教程将详细介绍如何在Android项目中自定义`Toolbar`布局。 首先,我们从`Toolbar`的基本概念开始。`Toolbar`是`android.support.v7.widget.Toolbar`类的一个实例,它是Android Support Library的一部分。它的引入...
本篇将详细探讨如何在Android Studio中实现自定义标题栏,并自定义回退按钮事件,以及如何在右侧显示文字或图片并绑定相应的点击事件。 首先,我们需要了解Android的布局系统。标题栏(Toolbar)通常作为Activity的...
在Android开发中,自定义组件是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,提升应用的用户体验。本篇文章将深入探讨如何在Android中自定义一个基于逐帧动画的ProgressBar组件,即自定义loading...
在Android应用开发中,自定义标题栏是一种常见的需求,它能提供更加个性化和与应用主题相符的用户体验。本文将深入探讨如何在Android中实现自定义标题栏,包括修改其高度和修复可能出现的显示问题。 首先,我们要...
在Android开发中,自定义属性(attr.xml, TypedArray)是一种强大的工具,它允许开发者扩展Android组件的功能,创建个性化的UI元素,同时提高代码的可重用性和可配置性。以下将详细介绍如何在Android中使用自定义...
在Android开发中,自定义组件是一项重要的技能,它允许开发者根据特定需求创建具有独特功能和外观的视图。本文将深入探讨如何在Android中自定义组件,并基于Android API Demo进行讲解,帮助你理解和掌握这一核心知识...
下面我们将深入探讨如何在Android中自定义ProgressDialog,实现加载滚动条效果。 首先,我们需要创建一个新的布局文件,比如`custom_progress_dialog.xml`,来定义自定义对话框的视图结构。在这个布局文件中,我们...
本文将深入探讨如何在Android中实现一个自定义加载对话框,以及如何实现显示和取消对话框的功能。 首先,我们来看一下“自定义对话框”这个概念。在Android中,系统提供了多种预设的对话框样式,如AlertDialog、...
总之,Android的自定义进度条涉及对`ProgressBar`控件的`android:progressDrawable`属性的修改,以及可能的`style`切换。通过理解并操作底层的XML资源文件,开发者可以创造出各种独特且富有创意的进度条效果,以满足...
在Android开发中,自定义`EditText`是一种常见的需求,它允许开发者根据应用的特定需求来扩展或修改系统提供的默认编辑框功能。自定义`EditText`可以实现诸如输入格式验证、特殊样式显示、交互效果增强等多种功能。...
本篇将深入探讨如何在Android中实现自定义Button的效果,以及涉及到的相关知识点。 1. **自定义样式与主题** Android支持通过XML来定义按钮的样式。在`res/values/styles.xml`文件中,可以创建一个新样式,并指定...
在Android应用开发中,自定义控件(Custom View)是一个重要的技术点,它允许开发者根据需求创建具有独特功能和外观的UI元素。本教程将基于一个简单的实例来讲解如何在Android中实现自定义控件,旨在提供思路和交流...
在Android开发中,自定义View和Layout是提升应用性能、实现独特交互效果和优化界面设计的重要手段。本文将深入探讨自定义View和Layout的属性,以及如何通过源码理解和使用这些特性。 首先,自定义View的基本步骤...
在Android开发中,自定义View是一项重要的技能,它允许开发者根据需求创建独特的用户界面元素,以实现更加丰富和个性化的交互体验。"Android 自定义View界面大合集"的主题涵盖了这个领域的广泛知识点,包括但不限于...
3. **属性和样式**:为了使自定义控件具有与系统控件类似的可配置性,可以使用`attr.xml`文件定义自定义属性,并在`style.xml`中创建样式。通过`android:attr/`引用这些属性,可以在XML布局中设置控件的外观和行为。...
测试:Android 中自定义属性(attr.xml,TypedArray)的使用 注意:MyView(Context context,AttributeSet attrs)构造函数的实现, 和注意main.xml的LinearLayout 里加的声明 要了解:test:textSize="20px" test:...
本篇文章将深入探讨如何在Android中自定义各式各样的圆形ProgressBar。 首先,我们从基础开始。Android的ProgressBar有两种主要类型:Horizontal和Circular。Horizontal ProgressBar显示为一条水平条,随着进度增加...
在Android开发中,自定义控件是提升应用独特性和用户体验的重要手段。本文将详细讲解如何创建一个自定义的标题导航控件,分为五个关键步骤。 ### 1. 自定义控件属性的定义 首先,我们需要定义自定义控件的属性。这...