| | |
| | | package com.android.app_base.widget; |
| | | |
| | | import android.content.Context; |
| | | import android.graphics.Color; |
| | | import android.util.AttributeSet; |
| | | import android.view.Gravity; |
| | | |
| | |
| | | @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); |
| | | } |
| | | |
| | | } |