Android 自定義組合布局

2021-07-13 20:20:14 字數 2192 閱讀 8749

package com.itheima.mobilesafe66.view;

import android.content.context;

import android.util.attributeset;

import android.view.view;

import android.widget.relativelayout;

import android.widget.textview;

import com.itheima.mobilesafe66.r;

/** * 自定義組合控制項

* * 1. 寫乙個類繼承relativelayout(viewgroup) 2. 寫布局檔案 3.

* 將布局新增到relativelayout中(initview方法) 4. 增加api 5. 自定義屬性(1. values/attrs.xml, 2.

* 宣告命名空間 , 3.在自定義view中配置屬性, 4. 在自定義view中載入屬性值 )

* *@author kevin

* */

public

class

settingitemclickview

extends

relativelayout

public

settingitemclickview(context context, attributeset attrs)

public

settingitemclickview(context context)

/*** 初始化布局

*/private

void

initview()

/*** 設定標題

* *@param title

*/public

void

settitle(string title)

/*** 設定表述

* *@param desc

*/public

void

setdesc(string desc)

}

1、對自定義控制項進行**填充

siclocation = (settingitemclickview) findviewbyid(r.id.sic_location);

siclocation.settitle(「歸屬地提示框位置」);

siclocation.setdesc(「設定歸屬地提示框的顯示位置」);

2、在values的attrs中設定組合布局屬性

(1)定義

<?xml version="1.0" encoding="utf-8"?>

name="settingitemview">

name="title"

format="string" />

name="desc_on"

format="string" />

name="desc_off"

format="string" />

declare-styleable>

resources>

(2)引用 activity_setting.xml

""

xmlns:tools=""

xmlns:itheima=""

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

"@+id/textview1"

style="@style/titlestyle"

android:text="設定中心" />

.itheima

.mobilesafe66.view

.settingitemview

android:id="@+id/siv_update"

android:layout_width="match_parent"

android:layout_height="wrap_content"

itheima:desc_off="自動更新已關閉"

itheima:desc_on="自動更新已開啟"

itheima:title="自動更新設定" />

Android自定義控制項之自定義組合控制項(三)

前兩篇介紹了自定義控制項的基礎原理android自定義控制項之基本原理 一 自定義屬性android自定義控制項之自定義屬性 二 今天重點介紹一下如何通過自定義組合控制項來提高布局的復用,降低開發成本,以及維護成本。1.第一種方式 直接在每個xml布局中寫相同的標題欄布局 這種方式沒有任何布局復用的...

Android自定義控制項之自定義組合控制項

前兩篇介紹了自定義控制項的基礎原理android自定義控制項之基本原理 一 自定義屬性android自定義控制項之自定義屬性 二 今天重點介紹一下如何通過自定義組合控制項來提高布局的復用,降低開發成本,以及維護成本。1.第一種方式 直接在每個xml布局中寫相同的標題欄布局 這種方式沒有任何布局復用的...

自定義組合控制項 來自布局

閒來無事,擼一集 看見大神些的公正的 我真是汗顏了 難以望其項背 雖不能至,心嚮往之 我就是個文科生轉世 包拯投錯胎 我算不算 猿類當中最能扯的?寫道這裡突然感覺好簡單了啊 主要是填充布局,找到各個子控制項.控制項太多可以放在乙個集合中.控制項的屬性神馬的可以放在乙個二維陣列中.主要是操作這個控制項...