package com.android.app_base.widget;
|
|
import android.content.Context;
|
import android.graphics.Color;
|
import android.util.AttributeSet;
|
import android.view.Gravity;
|
|
import androidx.databinding.BindingAdapter;
|
import androidx.databinding.BindingMethod;
|
|
import com.hjq.bar.TitleBar;
|
import com.hjq.bar.TitleBarSupport;
|
|
/**
|
* @author Ljj
|
* @date 2023.03.30. 20:47
|
* @desc 扩展标题栏,在原有标题栏增加标题靠左或靠右的功能
|
*/
|
public class ExtendTitleBar extends TitleBar {
|
|
private int titleGravity;
|
public ExtendTitleBar(Context context) {
|
super(context);
|
}
|
|
public ExtendTitleBar(Context context, AttributeSet attrs) {
|
super(context, attrs);
|
}
|
|
public ExtendTitleBar(Context context, AttributeSet attrs, int defStyleAttr) {
|
super(context, attrs, defStyleAttr);
|
}
|
|
@Override
|
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
// System.out.println("onMeasure");
|
reSetTitleGravity(titleGravity);
|
}
|
|
@Override
|
public TitleBar setTitleGravity(int gravity) {
|
titleGravity = gravity;
|
return super.setTitleGravity(gravity);
|
}
|
|
public void reSetTitleGravity(int gravity) {
|
gravity = TitleBarSupport.getAbsoluteGravity(this, gravity);
|
LayoutParams params = (LayoutParams) getTitleView().getLayoutParams();
|
params.gravity = gravity|Gravity.CENTER_VERTICAL;
|
if (gravity == Gravity.LEFT || gravity == Gravity.START){
|
params.setMargins(getLeftView().getMeasuredWidth(),0,0,0);
|
}
|
if (gravity == Gravity.RIGHT && gravity == Gravity.END){
|
params.setMargins(0,0,0, getRightView().getMeasuredWidth());
|
}
|
getTitleView().setLayoutParams(params);
|
}
|
|
public void setTitle(String title){
|
setTitle((CharSequence) title);
|
}
|
|
}
|