Android 通用标题栏之组合控件
16lz
2021-01-23
1,首先画出布局
<?xml version="1.0" encoding="utf-8"?>"http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:id="@+id/rl_bg" android:layout_height="match_parent"> "@+id/img_left" android:layout_width="45dp" android:layout_height="45dp" android:background="@mipmap/ic_launcher" /> "@+id/title_name_tv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="标题名称" android:layout_centerInParent="true" /> "@+id/img_right" android:layout_width="45dp" android:layout_height="45dp" android:layout_alignParentRight="true" android:background="@mipmap/ic_launcher" /> 2,代码package com.pdz.com.myview.com.pdz.view;import android.content.Context;import android.graphics.Bitmap;import android.util.AttributeSet;import android.view.LayoutInflater;import android.widget.ImageView;import android.widget.RelativeLayout;import android.widget.TextView;import com.pdz.com.myview.R;/** * Created by ${cwj} on 2017/7/17. * 描述: 组合控件 */public class TitleView extends RelativeLayout { private ImageView mLeftIv, mRightIv; private TextView titleNameTv; private RelativeLayout relativeLayout; public TitleView(Context context, AttributeSet attrs) { super(context, attrs); //加载布局 LayoutInflater.from(context).inflate(R.layout.title_view, this); //获取控件 mLeftIv = findViewById(R.id.img_left); mRightIv = findViewById(R.id.img_right); relativeLayout = findViewById(R.id.rl_bg); titleNameTv = findViewById(R.id.title_name_tv); } //给左侧的 控件 设置返回 事件 public void setFinshOnClickListener(OnClickListener clickListener) { mLeftIv.setOnClickListener(clickListener); } /** * 设置标题名称 * * @param name */ public void setTitleName(String name) { titleNameTv.setText(name); } /** * 设置字体颜色 * * @param color */ public void setTitleNameColor(int color) { titleNameTv.setTextColor(color); } /** * 设置字体大小 * * @param size */ public void setTitleNameSize(float size) { titleNameTv.setTextSize(size); } /** * 设置标题颜色 * * @param color */ public void setTitleBgColor(int color) { relativeLayout.setBackgroundColor(color); } /** * 更换背景图片 * * @param img */ public void setmRightIv(Bitmap img) { mRightIv.setImageBitmap(img); } /** * 更换左边背景图片 * * @param img */ public void setmLeftIv(Bitmap img) { mLeftIv.setImageBitmap(img); } /** * 隐藏右边图片 * * @param ishint true是显示,flash 是隐藏。 */ public void hintRightIc(boolean ishint) { if (ishint) { mRightIv.setVisibility(VISIBLE); } else { mRightIv.setVisibility(GONE); } }}3,使用。 直接在XML布局中 把TitleView和平时一样使用就好了。 需要什么方法直接调用。或者自己添加需要的方法、
更多相关文章
- Android Layout Tricks #3: Optimize by merging(Android 布局技
- Android 计算控件尺寸
- Android 左右滑动 控件
- android一种较为复杂的布局参考(xml文件)
- android使用同一个RecyclerView实现两种不同Item布局
- Android Studio [相对布局RelativeLayout]
- [中英文对照]android Designing for TV(一) ------ Optimizing L
- Android LinearLayout和FrameLayout 登陆布局1