成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

自定義ItemToggleView

lentoo / 1567人閱讀

極力推薦文章:歡迎收藏
Android 干貨分享

閱讀五分鐘,每日十點(diǎn),和您一起終身學(xué)習(xí),這里是程序員Android

本篇文章主要介紹 Android 開發(fā)中的部分知識(shí)點(diǎn),通過閱讀本篇文章,您將收獲以下內(nèi)容:

自定義View類實(shí)現(xiàn)

自定義View標(biāo)簽

自定義View 布局

自定義View 選擇器

自定義View 素材

Activity 自定義view布局引用

Activity使用自定義View

自定義ItemToggleView 常用于Settings中,主要控制開關(guān)的開啟與關(guān)閉。

自定義ItemToggleView實(shí)現(xiàn)效果如下:


1. 自定義View類實(shí)現(xiàn)
public class ItemToggleView extends RelativeLayout {
    private static final String TAG = "ItemToggleView";
    private TextView tv_title;
    private TextView tv_des;
    private static final String NAMESPACE = "http://schemas.android.com/apk/res/com.programandroid";
    private String mDesTitle;
    private String mDesOff;
    private String mDesOn;
    private ImageView mImageView;
    private boolean isOnOFF;

    public ItemToggleView(Context context, AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        initAttrs(attrs);
        initUI(context);
    }

    public ItemToggleView(Context context, AttributeSet attrs) {
        super(context, attrs);
        initAttrs(attrs);
        initUI(context);
    }

    public ItemToggleView(Context context) {
        super(context);
        initUI(context);
    }

    // 多帶帶抽取出來的 xml--->view
    private void initUI(Context context) {
        View.inflate(context, R.layout.item_toggle_view, this);

        tv_title = (TextView) findViewById(R.id.tv_title);
        tv_des = (TextView) findViewById(R.id.tv_des);

        mImageView = (ImageView) findViewById(R.id.switch_imageview);

        tv_title.setText(mDesTitle);
    }

    public boolean getCheck() {
        return isOnOFF;
    }

    /**
     * @param isCheck
     *            傳遞一個(gè)選中未選中的狀態(tài)變量(true 選中 false未選中)
     */
    public void setCheck(boolean isCheck) {
        // mSwitchControlView.setChecked(isCheck);
        if (isCheck) {
            tv_des.setText(mDesOn);
            mImageView.setImageDrawable(getResources().getDrawable(
                    R.drawable.toggle_on));

        } else {
            tv_des.setText(mDesOff);
            mImageView.setImageDrawable(getResources().getDrawable(
                    R.drawable.toggle_off));
        }
        isOnOFF = isCheck;
    }

    /**
     * @param attrs
     *            包含了屬性名稱和屬性值的set集合
     */
    private void initAttrs(AttributeSet attrs) {
        // 打印屬性總個(gè)數(shù)
        /*
         * Log.i(tag, "attrs.getAttributeCount() = "+attrs.getAttributeCount());
         * for(int i=0;i
2. 自定義View標(biāo)簽
1.注意 :自定義 Android 命名空間

Android 命名空間`(xmlns:android="http://schemas.android.com/apk/res/android"
方法一樣,想使用自定義view的屬性,必須聲明自定義view`的命名空間
(xmlns:programandroid="http://schemas.android.com/apk/res/com.programandroid")

2. 注意:自定義View 屬性

自定義View 屬性如下:

  programandroid:desOff="  不選中"
  programandroid:desOn="  選中"
  programandroid:desTitle=" WIFI " 

屬性聲明在res/values/attrs.xml中定義



    
        
        
        
    
3. 自定義View 布局



    

    

    

4. 自定義View 選擇器



    
    
    
    
    
    

5. 自定義View 素材


6. Activity 自定義view布局引用
    
7. Activity使用自定義View
    /**
     * 自定義 ItemToggleView
     */
    private void InitItemToggleView() {
        // TODO Auto-generated method stub
        final ItemToggleView mItemToggleView = (ItemToggleView) findViewById(R.id.custom_item_toggle_view);
        mItemToggleView.setCheck(false);
        mItemToggleView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                mItemToggleView.setCheck(!mItemToggleView.getCheck());
            }
        });
    }

至此,本篇已結(jié)束,如有不對(duì)的地方,歡迎您的建議與指正。同時(shí)期待您的關(guān)注,感謝您的閱讀,謝謝!

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/75874.html

相關(guān)文章

  • 定義仿 IPhone 開關(guān)控件

    摘要:極力推薦文章歡迎收藏干貨分享閱讀五分鐘,每日十點(diǎn),和您一起終身學(xué)習(xí),這里是程序員本篇文章主要介紹開發(fā)中的部分知識(shí)點(diǎn),通過閱讀本篇文章,您將收獲以下內(nèi)容自定義類實(shí)現(xiàn)自定義布局自定義素材使用自定義自定義常用于中,主要控制開關(guān)的開啟與關(guān)閉。 showImg(https://segmentfault.com/img/remote/1460000019975019?w=157&h=54); 極力...

    rottengeek 評(píng)論0 收藏0
  • CSS 定義屬性 - 入門

    摘要:變量的函數(shù)引用的自定義屬性被稱為變量。為此,可讀性和可維護(hù)性是自定義屬性最大的優(yōu)勢(shì)。自定義屬性作用域在中,變量有作用域一說。因此,在選擇器中聲明的自定義屬性,其作用域的范圍是全局范圍,也就是全局作用域。 引言 ??CSS語言是一種聲明式語言,不像其他語言有變量、條件和邏輯等特性,因?yàn)檫@個(gè)原因,社區(qū)中有了各種CSS處理器語言,比如Sass、LESS和Stylus等。這些處理器語言引入了一...

    seanlook 評(píng)論0 收藏0
  • 定義元素探秘及構(gòu)建可復(fù)用組件最佳實(shí)踐

    摘要:若自定義元素標(biāo)簽名稱不可用則摒棄??傊?,自定義元素讓開發(fā)者的代碼更易理解和維護(hù),并分割為小型,可復(fù)用及可封裝的模塊。被稱為自定義元素接口,雖然現(xiàn)在仍然可用,但是已經(jīng)被棄用并被認(rèn)為是糟糕的實(shí)現(xiàn)。 原文請(qǐng)查閱這里,略有刪減,本文采用知識(shí)共享署名 4.0 國際許可協(xié)議共享,BY Troland。 這是 JavaScript 工作原理第十九章。 概述 在 前述文章中,我們介紹了 Shadow ...

    CoorChice 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<