Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android如何自定義視圖屬性

Android如何自定義視圖屬性

編輯:關於Android編程

本文實例為大家介紹了Android自定義視圖屬性的方法,供大家參考,具體內容如下

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標簽,在裡面設置attr屬性
  <declare-styleable name="MyView">
    <attr name="rect_color" format="color"/>
  </declare-styleable>
</resources>

一個attr屬性,對應了一個視圖屬性

3.最後看布局文件中如何利用我們創建的自定義視圖並設置其屬性

<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"
    //根據自定義的命名空間和我們在attrs中設置的屬性,自定義屬性值
    gu:rect_color="#cc99cc" />
</LinearLayout>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved