91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么定義Android標題欄工具類

發布時間:2021-11-01 11:23:56 來源:億速云 閱讀:147 作者:iii 欄目:編程語言

這篇文章主要介紹“怎么定義Android標題欄工具類”,在日常操作中,相信很多人在怎么定義Android標題欄工具類問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么定義Android標題欄工具類”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

/**
 * 一個自定義的通用標題欄實列類
 */
public class CustomeTitleBar extends RelativeLayout {
    /**
     * 上下文
     */
    private Context mContext;
    /**
     * 左邊文字
     */
    private TextView left_tx = null;
    /**
     * 左圖片
     */
    private ImageView left_img = null;
    /**
     * 左邊按鈕
     */
    private RelativeLayout left_rl = null;
    /**
     * 中間標題文本
     */
    private TextView center_tx = null;
    /**
     * 右通用文本
     */
    private TextView right_tx = null;
    /**
     * 右圖片
     */
    private ImageView right_img = null;
    /**
     * 右按鈕
     */
    private RelativeLayout right_rl = null;
    /**
     * title整體布局
     */
    private RelativeLayout title_rl = null;
    /**
     *
     * 填充狀態欄
     */
    private View view_status_bar_place=null;
    /*
    * 主布局
    *
    */
    private LinearLayout title_main_view;
    public LinearLayout getTitle_main_view() {
        return title_main_view;
    }
    public CustomeTitleBar(Context context) {
        this(context, null);
    }
    public CustomeTitleBar(final Context context, AttributeSet attrs) {
        super(context, attrs);
        initViews(context,attrs);
        initListeners();
    }
    /**
     * 初始化UI組件.
     */
    public void initViews(Context context, AttributeSet attrs) {
        //如果在自定義控件的構造函數或者其他繪制相關地方使用系統依賴的代碼,會導致可視化編輯器無法報錯并提示:Use View.isInEditMode() in your custom views to skip code when shownin Eclipse
        if (isInEditMode()) {
            return;
        }
        this.mContext=context;
        LayoutInflater.from(this.getContext()).inflate(R.layout.include_custometitlebar
                , this, true);
        left_tx = (TextView) this.findViewById(R.id.left_tx);
        left_img = (ImageView) this.findViewById(R.id.left_img);
        left_rl = (RelativeLayout) this.findViewById(R.id.left_rl);
        center_tx = (TextView) this.findViewById(R.id.center_tx);
        right_tx = (TextView) this.findViewById(R.id.right_tx);
        right_img = (ImageView) this.findViewById(R.id.right_img);
        right_rl = (RelativeLayout) this.findViewById(R.id.right_rl);
        title_rl = (RelativeLayout) this.findViewById(R.id.title_rl);
        title_main_view = (LinearLayout) this.findViewById(R.id.title_main_view);
        view_status_bar_place=this.findViewById(R.id.view_status_bar_place);
        //默認右邊的這個操作按鈕是隱藏的  和左邊的文字是隱藏的
        right_rl.setVisibility(View.GONE);
        left_tx.setVisibility(View.GONE);
        initAttrs(attrs);
    }
    /**
     * 初始化attrs
     * @param attrs
     */
    private void initAttrs(AttributeSet attrs) {
        //獲取attr屬性
        TypedArray typedArray = mContext.obtainStyledAttributes(attrs, R.styleable.CustomeTitleBar);
        //右邊圖標
        int rightIcon = typedArray.getResourceId(R.styleable.CustomeTitleBar_rightIcon, 0);
        //中間文字
        int centerTitle = typedArray.getResourceId(R.styleable.CustomeTitleBar_centerText,0);
        //右邊文字
        int rightTitle = typedArray.getResourceId(R.styleable.CustomeTitleBar_rightText,0);
        if(rightIcon!=0){
            //右邊圖標
            right_img.setImageResource(rightIcon);
        }
        if(centerTitle!=0){
            //中間文字
            center_tx.setText(centerTitle);
        }
        if(rightTitle!=0){
            //右邊文字
            right_tx.setText(rightTitle);
            right_rl.setVisibility(View.VISIBLE);
        }
    }
    /**
     * 后退監聽事件
     */
    public void initListeners()
    {
        left_rl.setOnClickListener(new OnClickListener(){
            @Override
            public void onClick(View v)
            {
                fireBack();
            }
        });
    }
    /**
     * 點擊返回按鈕要調用的方法
     */
    public void fireBack()
    {
        if(this.getContext() instanceof Activity)
            ((Activity)this.getContext()).finish();
    }
    public TextView getLeft_tx() {
        return left_tx;
    }
    public ImageView getLeft_img() {
        return left_img;
    }
    public RelativeLayout getLeft_rl() {
        return left_rl;
    }
    public TextView getCenter_tx() {
        return center_tx;
    }
    public TextView getRight_tx() {
        return right_tx;
    }
    public ImageView getRight_img() {
        return right_img;
    }
    public RelativeLayout getRight_rl() {
        return right_rl;
    }
    public RelativeLayout getTitle_rl() {
        return title_rl;
    }
    public View getView_status_bar_place() {
        return view_status_bar_place;
    }
}

到此,關于“怎么定義Android標題欄工具類”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金沙县| 威信县| 翁源县| 诸城市| 沙湾县| 昌黎县| 秀山| 沾益县| 专栏| 郧西县| 满洲里市| 永济市| 广昌县| 洪洞县| 名山县| 泗洪县| 北碚区| 宕昌县| 吉木萨尔县| 阜平县| 历史| 黔西| 成安县| 玛纳斯县| 衡水市| 平遥县| 泾阳县| 陵水| 哈巴河县| 河池市| 佳木斯市| 旌德县| 太保市| 冷水江市| 曲阜市| 石首市| 乌海市| 江北区| 五常市| 夏河县| 寿阳县|