Android如何自定義視圖屬性
更新時間:2016年08月02日 17:14:42 作者:u011771755
這篇文章主要為大家介紹了Android如何自定義視圖屬性,三個步驟自定義視圖屬性,感興趣的小伙伴們可以參考一下
本文實例為大家介紹了Android自定義視圖屬性的方法,供大家參考,具體內(nèi)容如下
1. 自定義一個自己的視圖類繼承自View
public class MyView extends View
{
public MyView(Context context, AttributeSet attrs)
{
super(context, attrs);
//獲取到自定義的屬性
TypedArray ta=context.obtainStyledAttributes(attrs, R.styleable.MyView);
int color=ta.getColor(R.styleable.MyView_rect_color, 0xffff0000);
setBackgroundColor(color);
//必須手動回收ta
ta.recycle();
}
public MyView(Context context)
{
super(context);
}
}
2. 在res/values目錄中新建一個attrs.xml文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
//定義一個declare-styleable標(biāo)簽,在里面設(shè)置attr屬性
<declare-styleable name="MyView">
<attr name="rect_color" format="color"/>
</declare-styleable>
</resources>
一個attr屬性,對應(yīng)了一個視圖屬性
3.最后看布局文件中如何利用我們創(chuàng)建的自定義視圖并設(shè)置其屬性
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
//自定義一個MyView的命名空間
xmlns:gu="http://schemas.android.com/apk/res/com.gu.myrect"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<com.gu.myrect.MyView
android:layout_width="100dp"
android:layout_height="100dp"
//根據(jù)自定義的命名空間和我們在attrs中設(shè)置的屬性,自定義屬性值
gu:rect_color="#cc99cc" />
</LinearLayout>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android?Flutter實現(xiàn)在多端運行的掃雷游戲
當(dāng)我們回憶起小時候的經(jīng)典電腦游戲,掃雷一定是其中之一。本文將通過Flutter實現(xiàn)一個能在多端運行的掃雷游戲,感興趣的可以了解一下2023-03-03
Android?Flutter控件封裝之視頻進度條的實現(xiàn)
這篇文章主要來和大家分享一個很簡單的控制器封裝案例,包含了基本的播放暫停,全屏和退出全屏,文中的示例代碼講解詳細,感興趣的可以了解一下2023-06-06
Android RecyclerView 復(fù)用錯亂通用解法詳解
本篇文章主要介紹了Android RecyclerView 復(fù)用錯亂通用解法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
Android實現(xiàn)多個連續(xù)帶數(shù)字圓圈效果
這篇文章主要為大家詳細介紹了Android實現(xiàn)多個連續(xù)帶數(shù)字圓圈效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07

