Linjiajia
2023-04-24 fcdddf8b9b34f9930bec454b5fffe41c0e33ba3c
app_base/src/main/java/com/android/app_base/widget/ExtendTitleBar.java
@@ -1,6 +1,7 @@
package com.android.app_base.widget;
import android.content.Context;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.Gravity;
@@ -33,26 +34,31 @@
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        setTitleGravity(titleGravity);
//        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;
        // 如果标题的重心为左,那么左边就不能有内容
        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);
        return this;
    }
    public void setTitle(String title){
        setTitle((CharSequence) title);
    }
}