直播平台软件开发,实现自定义标题栏

直播平台软件开发,实现自定义标题栏

新建一个class继承一个相对布局并重写其构造方法

 

1
<br>public class CustomTitleBlock extends RelativeLayout {<br>    public CustomTitleBlock(Context context) {<br>        super(context);<br>    }<br>    public CustomTitleBlock(Context context, AttributeSet attrs) {<br>        super(context, attrs);<br>    }<br>    public CustomTitleBlock(Context context, AttributeSet attrs, int defStyleAttr) {<br>        super(context, attrs, defStyleAttr);<br>    }<br>    public CustomTitleBlock(Context context, AttributeSet attrs, int defStyleAttr,int defStyleRes) {<br>        super(context, attrs, defStyleAttr, defStyleRes);<br>    }<br>} 

创建一个Layout文件用于CustomTitleBlock.class绑定并初始化相关控件

 

1
<br><?xml version="1.0" encoding="utf-8"?><br><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"<br>    xmlns:tools="http://schemas.android.com/tools"<br>    xmlns:app="http://schemas.android.com/apk/res-auto"<br>    android:id="@+id/layout_title"<br>    android:layout_width="match_parent"<br>    android:layout_height="match_parent"<br>    android:background="@color/white"><br>    <androidx.constraintlayout.widget.ConstraintLayout<br>        android:layout_width="match_parent"<br>        android:layout_height="match_parent"<br>        android:layout_marginLeft="12dp"<br>        android:layout_marginRight="12dp"><br>        <androidx.constraintlayout.widget.ConstraintLayout<br>            android:id="@+id/left"<br>            android:layout_width="wrap_content"<br>            android:layout_height="match_parent"<br>            app:layout_constraintLeft_toLeftOf="parent"<br>            app:layout_constraintTop_toTopOf="parent"><br>            <ImageView<br>                android:id="@+id/iv_left"<br>                android:layout_width="wrap_content"<br>                android:layout_height="wrap_content"<br>                app:layout_constraintBottom_toBottomOf="parent"<br>                app:layout_constraintLeft_toLeftOf="parent"<br>                app:layout_constraintTop_toTopOf="parent" /><br>            <TextView<br>                android:id="@+id/tv_left"<br>                android:layout_width="wrap_content"<br>                android:layout_height="wrap_content"<br>                app:layout_constraintBottom_toBottomOf="parent"<br>                app:layout_constraintLeft_toRightOf="@+id/iv_left"<br>                app:layout_constraintTop_toTopOf="parent"  /><br>        </androidx.constraintlayout.widget.ConstraintLayout><br>        <TextView<br>            android:id="@+id/tv_centent"<br>            android:layout_width="wrap_content"<br>            android:layout_height="wrap_content"<br>            android:textStyle="bold"<br>            android:textSize="16sp"<br>            app:layout_constraintBottom_toBottomOf="parent"<br>            app:layout_constraintRight_toRightOf="parent"<br>            app:layout_constraintTop_toTopOf="parent"<br>            app:layout_constraintLeft_toLeftOf="parent"/><br>        <EditText<br>            android:id="@+id/search_box"<br>            android:layout_width="wrap_content"<br>            android:layout_height="match_parent"<br>            android:layout_marginTop="4dp"<br>            android:layout_marginBottom="4dp"<br>            android:textSize="14sp"<br>            android:background="@drawable/search_box_style"<br>            android:drawableLeft="@drawable/search_64"<br>            android:drawablePadding="6dp"<br>            android:paddingLeft="8dp"<br>            android:paddingRight="8dp"<br>            android:visibility="invisible"<br>            app:layout_constraintLeft_toRightOf="@+id/left"<br>            app:layout_constraintTop_toTopOf="parent"<br>            app:layout_constraintBottom_toBottomOf="parent"<br>            app:layout_constraintRight_toLeftOf="@+id/right"/><br>        <androidx.constraintlayout.widget.ConstraintLayout<br>            android:id="@+id/right"<br>            android:layout_width="wrap_content"<br>            android:layout_height="match_parent"<br>            app:layout_constraintTop_toTopOf="parent"<br>            app:layout_constraintRight_toRightOf="parent"><br>            <TextView<br>                android:id="@+id/tv_right"<br>                android:layout_width="wrap_content"<br>                android:layout_height="wrap_content"<br>                android:layout_centerVertical="true"<br>                app:layout_constraintTop_toTopOf="parent"<br>                app:layout_constraintBottom_toBottomOf="parent"<br>                app:layout_constraintRight_toLeftOf="@+id/iv_right"/><br>            <ImageView<br>                android:id="@+id/iv_right"<br>                android:layout_width="wrap_content"<br>                android:layout_height="wrap_content"<br>                app:layout_constraintRight_toRightOf="parent"<br>                app:layout_constraintTop_toTopOf="parent"<br>                app:layout_constraintBottom_toBottomOf="parent"/><br>        </androidx.constraintlayout.widget.ConstraintLayout><br>    </androidx.constraintlayout.widget.ConstraintLayout><br></RelativeLayout> 

 

在values文件夹下创建一个attrs.xml文件用于声明控件的属性

 

1
<br><?xml version="1.0" encoding="utf-8"?><br><resources><br>    <declare-styleable name="CustomTitleBlock"><br>        <!-- 标题栏左边 --><br>        <attr name="leftText" format="string"/><br>        <attr name="leftTextColor" format="color"/><br>        <attr name="leftTextSize" format="integer"/><br>        <attr name="leftImage" format="reference"/><br>        <!-- 标题栏中间 --><br>        <attr name="centerText" format="string"/><br>        <attr name="centerTextColor" format="color"/><br>        <attr name="centerTextSize" format="integer"/><br>        <!-- 搜索框 --><br>        <attr name="searchBox" format="boolean"/><br>        <attr name="searchBoxHint" format="string"/><br>        <attr name="searchBoxWidth" format="dimension"><br>            <enum name="match_parent" value="-1"/><br>            <enum name="wrap_content" value="-2"/><br>        </attr><br>        <!-- 标题栏右边 --><br>        <attr name="rightText" format="string"/><br>        <attr name="rightTextColor" format="color"/><br>        <attr name="rightTextSize" format="integer"/><br>        <attr name="rightImage" format="reference"/><br>    </declare-styleable><br></resources>

 

 以上就是 直播平台软件开发,实现自定义标题栏,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-02-23 app直播源码,选取矩形框并进行文字标注
2022-02-23 成品直播源码,点击滑动切换效果
2022-02-23 一对一聊天源码,vue实现环形进度条组件
点击右上角即可分享
微信分享提示