zoukankan      html  css  js  c++  java
  • 项目中通用的顶部标题和返回的TitleBar

    1. 定义布局文件,在layout下新建title_bar_view.xml

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:background="@drawable/bg_top_bar" >
    
        <ImageView
            android:id="@+id/bar_back"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:scaleType="center"
            android:src="@drawable/btn_back_selector" />
    
        <TextView
            android:id="@+id/bar_title"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentTop="true"
            android:layout_centerHorizontal="true"
            android:layout_marginLeft="48dp"
            android:layout_marginRight="48dp"
            android:gravity="center"
            android:text="Title"
            android:textColor="#FFFFFFFF"
            android:textSize="24sp"
            android:textStyle="normal" />
    
        <TextView
            android:id="@+id/bar_action"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:gravity="center"
            android:text="action"
            android:textColor="#FFFFFFFF"
            android:textSize="18sp"
            android:textStyle="normal"
            android:visibility="gone" />
    
    </RelativeLayout>

    相关资源,在drawable下新建btn_back_selector.xml

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/action_button_back_pressed" android:state_pressed="true"/>
        <item android:drawable="@drawable/action_button_back_normal"/>
    </selector>

             

    2. 自定义View继承自RelativeLayout

    public class TitleBar extends RelativeLayout{
        
        private ImageView ivBack;
        
        private TextView tvTitle;
        
        private TextView tvAction;
        
        public TitleBar(Context context) {
            this(context,null);
        }
    
        public TitleBar(Context context, AttributeSet attrs) {
            super(context, attrs);
            
            View view = View.inflate(context, R.layout.title_bar_view, this);
            ivBack = (ImageView) view.findViewById(R.id.bar_back);
            tvTitle = (TextView) view.findViewById(R.id.bar_title);
            tvAction = (TextView) view.findViewById(R.id.bar_action);
        }
    
        public void setBackVisibility(boolean show) {
            ivBack.setVisibility(show ? View.VISIBLE : View.INVISIBLE);
        }
    
        public void setTitle(String title) {
            tvTitle.setText(title);
        }
        
        public ImageView getIvBack() {
            return ivBack;
        }
    
        public void setIvBack(ImageView ivBack) {
            this.ivBack = ivBack;
        }
    
        public TextView getTvTitle() {
            return tvTitle;
        }
    
        public void setTvTitle(TextView tvTitle) {
            this.tvTitle = tvTitle;
        }
    
        public TextView getTvAction() {
            return tvAction;
        }
    
        public void setTvAction(TextView tvAction) {
            this.tvAction = tvAction;
        }
    }
  • 相关阅读:
    vue 中引用echarts 初始化init undefind问题(Cannot read property ‘init‘ of undefined)
    粘性定位(position:sticky)实现固定表格表头、固定列
    js替换字符串中的空格,换行符 或 替换成<br>
    一个完整的大作业
    数据结构化与保存
    爬取所有校园新闻
    用requests库和BeautifulSoup4库爬取新闻列表
    中文词频统计及词云制作
    组合数据类型练习,英文词频统计实例
    字符串操作练习:星座、凯撒密码、99乘法表、词频统计预处理
  • 原文地址:https://www.cnblogs.com/cbooy/p/4784364.html
Copyright © 2011-2022 走看看