欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android开发之在xml中设置自定义属性的方法

时间:2021-02-15 10:22:14|栏目:Android代码|点击:

xml中设置自定义属性

分三步:

1. 在项目中的values文件中创建attrs文件

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
 
 <declare-styleable name="QLoadingIndicatorView"> 
   
  <attr name="indicatorId" format="integer"/> 
  <attr name="indicatorColor" format="color"/> 
  <attr name="indicatorText" format="string"/> 
 </declare-styleable> 
 
</resources> 
<pre name="code" class="java"></pre> 
<h3><a name="t3"></a>2. 在view中关联这些属性</h3> 
<div><pre name="code" class="java">public class MyView extends LinearLayout { 
 
 private int mIndicatorColor,mIndicatorId; 
 private String mIndicatorText; 
 
 public MyView(Context context, AttributeSet attrs, int defStyleAttr) { 
  super(context, attrs, defStyleAttr); 
 
  //从xml的属性中获取到值,然后想怎么用就怎么用 
  TypedArray ta=context.obtainStyledAttributes(attrs,R.styleable.QLoadingIndicatorView); 
  mIndicatorColor=ta.getColor(R.styleable.QLoadingIndicatorView_indicatorColor,Color.BLACK);//第二个参数是设置的默认值,当你不设置这个属性时会使用这个值 
  mIndicatorId=ta.getInt(R.styleable.QLoadingIndicatorView_indicatorId,1); 
  mIndicatorText=ta.getString(R.styleable.QLoadingIndicatorView_indicatorText,"abc"); 
  ta.recycle(); 
 
 } 
}</pre><br> 
<br> 
</div> 
<pre name="code" class="java"></pre><pre name="code" class="java"></pre> 
<h3><a name="t4"></a>3.xml文件中设置属性和命名空间</h3> 
<div><pre name="code" class="java"><GridLayout xmlns:android="http://schemas.android.com/apk/res/android" 
 android:layout_width="match_parent" 
 android:layout_height="match_parent" 
 xmlns:app="http://schemas.android.com/apk/res-auto" //这就是自己定义的属性的命名空间,androidstudio是这样写的,添加属性的时候自动生成 
 android:rowCount="9" 
 android:columnCount="4"> 
 <com.zxq.com.myrecycleview.progressbaranimation.QLoadingIndicatorView 
  android:layout_width="50dp" 
  android:layout_height="50dp" 
  android:layout_margin="10dp" 
  app:indicatorId="0"  //自己的设置的属性    
  app:indicatorColor="#F00" 
  > 
 </com.zxq.com.myrecycleview.progressbaranimation.QLoadingIndicatorView> 
</GridLayout></pre><br> 
<br> 
</div> 
<pre name="code" class="java"> 
<pre></pre> 
<pre></pre> 
<pre></pre> 
<pre></pre> 
</pre> 

上一篇:android如何默认打开小区广播具体实现

栏    目:Android代码

下一篇:浅谈Android 的线程和线程池的使用

本文标题:Android开发之在xml中设置自定义属性的方法

本文地址:http://www.codeinn.net/misctech/63455.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有