From 3a4343f647f038a9e8366f17b33a07fdfd8b680c Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 05 十二月 2024 10:26:57 +0800
Subject: [PATCH] 1.添加巡检时的后台定位权限获取
---
app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java | 371 +++++++++++++++++++++-------------------------------
1 files changed, 150 insertions(+), 221 deletions(-)
diff --git a/app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java b/app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java
index 0771c04..27d0426 100644
--- a/app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java
+++ b/app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java
@@ -3,14 +3,13 @@
*/
package com.dayu.pipirrapp.view;
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.util.AttributeSet;
-import android.util.Log;
+import android.app.Activity;
+import android.graphics.Color;
+import android.text.TextUtils;
import android.view.View;
-import android.widget.ImageButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
+import android.widget.RelativeLayout;
import android.widget.TextView;
import com.dayu.pipirrapp.R;
@@ -22,248 +21,178 @@
* @author shisl
* @time 2015-4-29
*/
-public class TitleBar extends LinearLayout {
+public class TitleBar {
+ /**
+ * 宸︿晶/鍙充晶鍥炬爣鍜屼腑闂存爣棰�
+ */
+ private View titleView;
- private static final String TAG = "CNavigationBar";
- public static final int LEFT = 0;
- public static final int CENTER = 1;
- public static final int RIGHT = 2;
- public static final int IMAGE = 3;
- public static final int TEXT = 4;
- public static final int ClickType_LEFT_TEXT = 1;
- public static final int ClickType_LEFT_IMAGE = 2;
- public static final int ClickType_CENTER_TEXT = 3;
- public static final int ClickType_CENTER_IMAGE = 4;
- public static final int ClickType_RIGHT_TEXT = 5;
- public static final int ClickType_RIGHT_IMAGE = 6;
+ /**
+ * 宸︿晶/鍙充晶鍥炬爣鍜屼腑闂存爣棰�
+ */
+ private RelativeLayout rl_title_bar;
- private TextView tvLeft;
- private ImageView ivLeft;
- private LinearLayout llLeft;
+ /**
+ * 璺熷竷灞�
+ */
+ private LinearLayout ll_title_bar;
- private ImageButton ibCenter;
- private TextView btnCenter;
+ /**
+ * 宸︿晶鍥炬爣
+ */
+ private ImageView iv_left_icon;
- private TextView tvRight;
- private ImageView ivRight;
- private LinearLayout llRight;
+ /**
+ * 鍙充晶鍥炬爣
+ */
+ private ImageView iv_rightIco;
+ /**
+ * 涓棿鏍囬
+ */
+ private TextView tv_title_middle;
- public TitleBar(Context context, AttributeSet attrs, int defStyle) {
- super(context, attrs);
- initView(context);
+ /**
+ * 鍙充晶鏍囬
+ */
+ private TextView tv_title_right;
+
+ /**
+ * 鏋勯�犳柟娉曪細鐢ㄤ簬鑾峰彇瀵硅薄
+ */
+ public TitleBar(Activity context) {
+ titleView = context.findViewById(R.id.rl_title_bar);
+ rl_title_bar = (RelativeLayout) titleView.findViewById(R.id.rl_title_bar);
+ ll_title_bar = (LinearLayout) context.findViewById(R.id.ll_title_bar);
+ tv_title_middle = (TextView) titleView.findViewById(R.id.tv_title_middle);
+ tv_title_right = (TextView) titleView.findViewById(R.id.tv_title_right);
+ iv_left_icon = (ImageView) titleView.findViewById(R.id.iv_left_icon);
+ iv_rightIco = (ImageView) titleView.findViewById(R.id.iv_rightIco);
}
/**
- * 鍒濆鍖栨垜浠嚜瀹氫箟鐨勭粍鍚堟帶浠�
+ * 鐢ㄤ簬璁剧疆鏍囬鏍忔枃瀛�
+ *
+ * @param titleText 浼犲叆瑕佽缃殑鏍囬
+ * @return
*/
- private void initView(Context context) {
- // 杞寲甯冨眬鏂囦欢鈥斺�斺�斺��>View瀵硅薄锛岃繖涓獀iew瀵硅薄鐩存帴鎸傝浇鍦ㄨ嚜宸憋紙缁勫悎鎺т欢锛夎韩涓�
- View.inflate(context, R.layout.custom_titlebar, this); // this浠h〃鎸傝浇鍒拌嚜宸辫韩涓�
- tvLeft = (TextView) this.findViewById(R.id.tv_titlebar_left);
- btnCenter = (TextView) this.findViewById(R.id.btn_titlebar_center);
- tvRight = (TextView) this.findViewById(R.id.tv_titlebar_right);
- ivLeft = (ImageView) this.findViewById(R.id.iv_titlebar_left);
- ibCenter = (ImageButton) this.findViewById(R.id.ib_titlebar_center);
- ivRight = (ImageView) this.findViewById(R.id.iv_titlebar_right);
- llLeft = (LinearLayout) this.findViewById(R.id.ll_left);
- llRight = (LinearLayout) this.findViewById(R.id.ll_right);
- }
-
- public TitleBar(Context context, AttributeSet attrs) {
- super(context, attrs);
- initView(context);
- try {
- /**
- * 璺焩alues/attrs.xml閲岄潰瀹氫箟鐨勫睘鎬х粦瀹�
- */
- // 浠巃ttrs.xml鑾峰彇鑷畾涔夌殑鎺т欢灞炴��
- TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.TitleBar);
- // //浠巃ttrs.xml鑾峰彇鑷畾涔夌殑value灞炴��(鎺т欢灞炴�у悕绉�+鈥淿鈥� + 鑷畾涔夌殑灞炴�у悕绉�)
- String leftText = a.getString(R.styleable.TitleBar_leftText);
- int leftImage = a.getResourceId(R.styleable.TitleBar_leftImage, 0);
- String centerText = a.getString(R.styleable.TitleBar_centerText);
- int centerImage = a.getResourceId(R.styleable.TitleBar_centerImage, 0);
- String rightText = a.getString(R.styleable.TitleBar_rightText);
- int rightImage = a.getResourceId(R.styleable.TitleBar_rightImage, 0);
- a.recycle();
- setLeftText(leftText);
- setRightText(rightText);
- setCenterText(centerText);
- setLeftImage(leftImage);
- setRightImage(rightImage);
- setCenterImage(centerImage);
- } catch (Exception e) {
- e.printStackTrace();
+ public TitleBar setTitleText(String titleText) {
+ if (!TextUtils.isEmpty(titleText)) {
+ tv_title_middle.setText(titleText);
}
+ return this;
}
- @Deprecated
- public void setOnItemclickListner(int type, int aligh, OnClickListener listner) {
- if (listner == null) {
- return;
+ /**
+ * 璁剧疆鏍囬鏍忔枃瀛楅鑹�
+ *
+ * @return
+ */
+ public TitleBar setTitleTextColor() {
+ tv_title_middle.setTextColor(Color.WHITE);
+ return this;
+ }
+
+ /**
+ * 璁剧疆鏍囬鏍忓彸杈圭殑鏂囧瓧
+ *
+ * @return
+ */
+ public TitleBar setTitleRight(String rightTitle) {
+ if (!TextUtils.isEmpty(rightTitle)) {
+ tv_title_right.setVisibility(View.VISIBLE);
+ iv_rightIco.setVisibility(View.GONE);
+ tv_title_right.setTextColor(Color.WHITE);
+ tv_title_right.setText(rightTitle);
}
- if (type == TEXT) {
- switch (aligh) {
- case LEFT:
- setOnItemclickListner(ClickType_LEFT_TEXT, listner);
+ return this;
+ }
- break;
- case CENTER:
- setOnItemclickListner(ClickType_CENTER_TEXT, listner);
- break;
- case RIGHT:
- setOnItemclickListner(ClickType_RIGHT_TEXT, listner);
+ /**
+ * 鐢ㄤ簬璁剧疆鏍囬鏍忓乏杈硅鏄剧ず鐨勫浘鐗�
+ *
+ * @param resId 鏍囬鏍忓乏杈圭殑鍥炬爣鐨刬d锛屼竴鑸负杩斿洖鍥炬爣
+ * @return
+ */
+ public TitleBar setLeftIco(int resId) {
+ iv_left_icon.setVisibility(resId > 0 ? View.VISIBLE : View.GONE);
+ iv_left_icon.setImageResource(resId);
+ return this;
+ }
- break;
+ /**
+ * 鐢ㄤ簬璁剧疆鏍囬鏍忓乏杈硅鏄剧ず鐨勫浘鐗�
+ *
+ * @return
+ */
+ public TitleBar setLeftIco() {
+ iv_left_icon.setVisibility(View.VISIBLE);
+ iv_left_icon.setImageResource(R.drawable.vector_arrows_left_white);
+ return this;
+ }
- default:
- break;
- }
- } else if (type == IMAGE) {
- switch (aligh) {
- case LEFT:
- setOnItemclickListner(ClickType_LEFT_IMAGE, listner);
- break;
- case CENTER:
- setOnItemclickListner(ClickType_CENTER_IMAGE, listner);
+ /**
+ * 鐢ㄤ簬璁剧疆鏍囬鏍忓彸杈硅鏄剧ず鐨勫浘鐗�
+ *
+ * @param resId 鏍囬鏍忓彸杈圭殑鍥炬爣id
+ * @return
+ */
+ public TitleBar setRightIco(int resId) {
+ iv_rightIco.setVisibility(resId > 0 ? View.VISIBLE : View.GONE);
+ iv_rightIco.setImageResource(resId);
+ return this;
+ }
- break;
- case RIGHT:
- setOnItemclickListner(ClickType_RIGHT_IMAGE, listner);
- break;
+ /**
+ * 鐢ㄦ埛璁剧疆 鏍囬鏍忓彸渚х殑鍥炬爣鐨勮儗鏅痙rawable
+ *
+ * @param resId drawable鐨刬d
+ * @return
+ */
+ public TitleBar setRightIconBgDr(int resId) {
+ iv_rightIco.setVisibility(resId > 0 ? View.VISIBLE : View.GONE);
+// iv_rightIco.setImageResource(R.drawable.ic_back_selector);
+ return this;
+ }
- default:
- break;
- }
+ /**
+ * 鐢ㄦ埛璁剧疆 鏍囬鏍忓彸渚х殑鍥炬爣鐨勮儗鏅痙rawable
+ *
+ * @return
+ */
+ public TitleBar setRightIconBgDr() {
+ iv_rightIco.setVisibility(View.GONE);
+// iv_rightIco.setImageResource(R.drawable.ic_back_selector);
+ return this;
+ }
+
+ /**
+ * 鐢ㄤ簬璁剧疆鏍囬鏍忓乏杈瑰浘鐗囩殑鍗曞嚮浜嬩欢
+ *
+ * @param listener 浼犲叆鐨勪簨浠跺璞�
+ * @return
+ */
+ public TitleBar setLeftIcoListening(View.OnClickListener listener) {
+ if (iv_left_icon.getVisibility() == View.VISIBLE) {
+ iv_left_icon.setOnClickListener(listener);
}
-
+ return this;
}
- public void setOnItemclickListner(int clickType, OnClickListener listner) {
- try {
- switch (clickType) {
- case ClickType_LEFT_TEXT:
- if (tvLeft.getVisibility() == View.VISIBLE) {
- llLeft.setOnClickListener(listner);
- }
- break;
- case ClickType_LEFT_IMAGE:
- if (ivLeft.getVisibility() == View.VISIBLE) {
- llLeft.setOnClickListener(listner);
- }
+ /**
+ * 鐢ㄤ簬璁剧疆鏍囬鏍忓彸杈瑰浘鐗囩殑鍗曞嚮浜嬩欢
+ *
+ * @param listener 浼犲叆鐨勪簨浠跺璞�
+ * @return
+ */
+ public TitleBar setRightIcoListening(View.OnClickListener listener) {
- break;
- case ClickType_CENTER_TEXT:
- if (btnCenter.getVisibility() == View.VISIBLE) {
- btnCenter.setOnClickListener(listner);
- }
-
- break;
- case ClickType_CENTER_IMAGE:
- if (ibCenter.getVisibility() == View.VISIBLE) {
- ibCenter.setOnClickListener(listner);
- }
-
- break;
- case ClickType_RIGHT_TEXT:
- if (tvRight.getVisibility() == View.VISIBLE) {
- llRight.setOnClickListener(listner);
- } else {
- llRight.setOnClickListener(null);
- }
-
- break;
- case ClickType_RIGHT_IMAGE:
- if (ivRight.getVisibility() == View.VISIBLE) {
- llRight.setOnClickListener(listner);
- }
- break;
-
- default:
- break;
- }
- } catch (Exception e) {
- e.printStackTrace();
+ if (iv_rightIco.getVisibility() == View.VISIBLE) {
+ iv_rightIco.setOnClickListener(listener);
}
-
+ return this;
}
-
- public void setLeftImage(int leftImage) {
- if (leftImage == 0) {
- ivLeft.setVisibility(View.GONE);
- return;
- }
- ivLeft.setVisibility(View.VISIBLE);
- ivLeft.setImageResource(leftImage);
-
- }
-
- public void setRightImage(int rightImage) {
- if (rightImage == 0) {
- ivRight.setVisibility(View.GONE);
- return;
- }
- ivRight.setVisibility(View.VISIBLE);
- ivRight.setImageResource(rightImage);
-
- }
-
- private void setCenterImage(int leftImage) {
- if (leftImage == 0) {
- return;
- }
- ivLeft.setBackgroundResource(leftImage);
-
- }
-
- public void setLeftText(String leftText) {
- if (leftText == null) {
- return;
- }
- tvLeft.setVisibility(View.VISIBLE);
- Log.i(TAG, "leftText--->" + leftText);
- tvLeft.setText(leftText);
- }
-
- public void setRightText(String rightText) {
- if (rightText == null) {
- return;
- }
- tvRight.setVisibility(View.VISIBLE);
- llRight.setVisibility(View.VISIBLE);
- tvRight.setText(rightText);
- }
-
- public void setCenterText(String centerText) {
- if (centerText == null) {
- return;
- }
- btnCenter.setVisibility(View.VISIBLE);
- Log.i(TAG, "centerText--->" + centerText);
- btnCenter.setText(centerText);
- }
-
- public void setRightStatus(boolean isable) {
- tvRight.setEnabled(isable);
- ivRight.setEnabled(isable);
- llRight.setEnabled(isable);
-
- }
-
- public void setRightIMGVisibility(int Visibility) {
- ivRight.setVisibility(Visibility);
- }
-
- public TextView getTitleTextView() {
- return btnCenter;
- }
-
- public LinearLayout getLlRight() {
- return llRight;
- }
-
}
--
Gitblit v1.8.0