From 4b6cb6d2a0e48640cfd86ef00eb0ff5f4cddf5a2 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 23 一月 2024 17:33:28 +0800 Subject: [PATCH] 地图界面与JS交互相关 我的界面 修改密码界面 --- app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java | 26 + app/src/main/res/drawable/ic_gps_navigation.xml | 21 + app/src/main/res/values/styles.xml | 10 app/src/main/res/values/themes.xml | 2 app/src/main/res/values/colors.xml | 6 app/src/main/res/mipmap-xhdpi/ic_head_bg.jpg | 0 app/src/main/res/drawable/btn_blue_bg_up.xml | 8 app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java | 18 + app/build.gradle | 29 + app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java | 269 +++++++++++++++ app/src/main/res/values/dimens.xml | 8 app/src/main/res/layout/activity_change_pass_word.xml | 67 +++ app/src/main/AndroidManifest.xml | 5 app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java | 69 ++++ app/src/main/res/drawable/btn_blue_bg.xml | 7 app/src/main/java/com/dayu/pipirrapp/view/MyWebView.java | 20 + app/src/main/res/drawable/btn_blue_bg_down.xml | 8 app/src/main/res/layout/fragment_map.xml | 45 ++ app/src/main/res/layout/custom_titlebar.xml | 116 ++++++ app/src/main/res/drawable/ic_right.xml | 13 app/src/main/res/layout/fragment_my.xml | 185 ++++++++++ app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java | 4 app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java | 34 + app/src/main/res/drawable/bg_fillet_wite.xml | 8 app/src/main/res/mipmap-xhdpi/icon_back.png | 0 25 files changed, 946 insertions(+), 32 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 475016c..25c2156 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -28,25 +28,25 @@ manifestPlaceholders = [ JPUSH_PKGNAME : applicationId, //JPush 涓婃敞鍐岀殑鍖呭悕瀵瑰簲鐨� Appkey. - JPUSH_APPKEY : "375adbd599ceb9977566b929", + JPUSH_APPKEY : "375adbd599ceb9977566b929", //鏆傛椂濉啓榛樿鍊煎嵆鍙�. JPUSH_CHANNEL : "developer-default", //鑻ヤ笉闆嗘垚鍘傚晢閫氶亾锛屽彲鐩存帴璺宠繃浠ヤ笅閰嶇疆 - MEIZU_APPKEY : "MZ-榄呮棌鐨凙PPKEY", - MEIZU_APPID : "MZ-榄呮棌鐨凙PPID", - XIAOMI_APPID : "MI-灏忕背鐨凙PPID", + MEIZU_APPKEY : "MZ-榄呮棌鐨凙PPKEY", + MEIZU_APPID : "MZ-榄呮棌鐨凙PPID", + XIAOMI_APPID : "MI-灏忕背鐨凙PPID", XIAOMI_APPKEY : "MI-灏忕背鐨凙PPKEY", - OPPO_APPKEY : "OP-oppo鐨凙PPKEY", - OPPO_APPID : "OP-oppo鐨凙PPID", - OPPO_APPSECRET : "OP-oppo鐨凙PPSECRET", - VIVO_APPKEY : "vivo鐨凙PPKEY", - VIVO_APPID : "vivo鐨凙PPID", - HONOR_APPID : "Honor鐨凙PP ID", + OPPO_APPKEY : "OP-oppo鐨凙PPKEY", + OPPO_APPID : "OP-oppo鐨凙PPID", + OPPO_APPSECRET: "OP-oppo鐨凙PPSECRET", + VIVO_APPKEY : "vivo鐨凙PPKEY", + VIVO_APPID : "vivo鐨凙PPID", + HONOR_APPID : "Honor鐨凙PP ID", ] ndk { // 璁剧疆鏀寔鐨凷O搴撴灦鏋勶紙寮�鍙戣�呭彲浠ユ牴鎹渶瑕侊紝閫夋嫨涓�涓垨澶氫釜骞冲彴鐨剆o锛� - abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86","x86_64" + abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "x86_64" } } @@ -113,7 +113,6 @@ implementation 'com.baidu.lbsyun:BaiduMapSDK_Location:9.3.7' - // //鎺ㄩ�佺浉鍏� // // 姝ゅ浠Push 5.0.0 鐗堟湰涓轰緥锛�5.0.0 鐗堟湰寮�濮嬪彲浠ヨ嚜鍔ㄦ媺鍙� JCore 鍖咃紝鏃犻渶鍙﹀閰嶇疆 implementation 'cn.jiguang.sdk:jpush:5.2.2' @@ -144,4 +143,10 @@ // apply plugin: 'com.google.gms.google-services' // apply plugin: 'com.huawei.agconnect' + + + //鍦嗗舰澶村儚 + implementation 'de.hdodenhof:circleimageview:3.1.0' + + } \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3b6420b..b3716e8 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -42,6 +42,7 @@ android:supportsRtl="true" android:theme="@style/Theme.PipIrrApp" android:usesCleartextTraffic="true" + android:hardwareAccelerated="true" tools:targetApi="31"> <!-- 鍛婄煡 XXPermissions 褰撳墠椤圭洰宸茬粡閫傞厤浜嗗垎鍖哄瓨鍌ㄧ壒鎬� --> <meta-data @@ -49,7 +50,7 @@ android:value="true" /> <activity - android:name=".activity.LoginActivity" + android:name=".activity.MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> @@ -57,7 +58,7 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> - <activity android:name=".activity.MainActivity" /> +<!-- <activity android:name=".activity.MainActivity" />--> <!-- Required since 5.2.0 --> <!-- 鏂扮殑 tag/alias 鎺ュ彛缁撴灉杩斿洖闇�瑕佸紑鍙戣�呴厤缃竴涓嚜瀹氫箟鐨凷ervice --> <!-- 3.3.0寮�濮嬫墍鏈変簨浠跺皢閫氳繃璇ョ被鍥炶皟 --> diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java index 02fb81d..1b0c1af 100644 --- a/app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java +++ b/app/src/main/java/com/dayu/pipirrapp/activity/BaseActivity.java @@ -1,6 +1,14 @@ package com.dayu.pipirrapp.activity; +import android.os.Build; +import android.os.Bundle; +import android.view.Window; +import android.view.WindowManager; + +import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; + +import com.dayu.pipirrapp.R; /** * author: zuo @@ -9,4 +17,14 @@ * 澶囨敞锛� */ public class BaseActivity extends AppCompatActivity { + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Window window = getWindow(); + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + window.setStatusBarColor(getResources().getColor(R.color.title_color)); + } + } } diff --git a/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java b/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java index 0e5e3b7..52163b4 100644 --- a/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java +++ b/app/src/main/java/com/dayu/pipirrapp/activity/MainActivity.java @@ -12,6 +12,7 @@ import com.dayu.pipirrapp.adapter.TabAdapter; import com.dayu.pipirrapp.databinding.ActivityMainBinding; +import com.dayu.pipirrapp.fragment.BaseFragment; import com.dayu.pipirrapp.fragment.MainFragment; import com.dayu.pipirrapp.fragment.MapFragment; import com.dayu.pipirrapp.fragment.MyFragment; @@ -23,13 +24,14 @@ /** * */ -public class MainActivity extends AppCompatActivity { +public class MainActivity extends BaseActivity { ActivityMainBinding binding; List<Fragment> mFragment = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(LayoutInflater.from(this)); MapFragment mapFragment = new MapFragment(); diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java index ca7bf6e..0a5592d 100644 --- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java +++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java @@ -4,6 +4,8 @@ import android.content.Intent; import android.location.LocationManager; import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.util.Log; import android.view.LayoutInflater; import android.view.View; @@ -19,6 +21,7 @@ import androidx.lifecycle.LifecycleOwner; import com.dayu.pipirrapp.databinding.FragmentMapBinding; +import com.dayu.pipirrapp.js.MyWebViewInterface; import com.dayu.pipirrapp.observer.MapFragmenObserver; import com.dayu.pipirrapp.service.MyLocationService; import com.dayu.pipirrapp.utils.ToastUtil; @@ -52,11 +55,12 @@ @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + binding = FragmentMapBinding.inflate(inflater, container, false); Log.i("MapFragment", "onCreateView"); mWebView = binding.webView; initWebView(); - mWebView.loadUrl("http://192.168.3.178:3002/"); + mWebView.loadUrl("http://192.168.3.178:3000/"); initView(); //寮�鍚畾浣� Intent location = new Intent(this.getActivity(), MyLocationService.class); @@ -113,18 +117,19 @@ // LOAD_CACHE_ELSE_NETWORK: 鍙鏈湴鏈夛紝鏃犺鏄惁杩囨湡锛屾垨鑰� no-cache锛岄兘浣跨敤缂撳瓨涓殑鏁版嵁 // LOAD_NO_CACHE: 涓嶄娇鐢ㄧ紦瀛橈紝鍙粠缃戠粶鑾峰彇鏁版嵁 // LOAD_CACHE_ONLY: 涓嶄娇鐢ㄧ綉缁滐紝鍙鍙栨湰鍦扮紦瀛樻暟鎹� -// js 鐩稿叧 + // js 鐩稿叧 webSettings.setJavaScriptEnabled(true); // 鏀寔 js銆傚鏋滅鍒板悗鍙版棤娉曢噴鏀� js 瀵艰嚧鑰楃數锛屽簲鍦� onStop 鍜� onResume 閲屽垎鍒鎴� false 鍜� true -// mWebView.addJavascriptInterface(new WebAppInterface(this), "android"); // js 鎺ュ彛 + // mWebView.addJavascriptInterface(new WebAppInterface(this), "android"); // js 鎺ュ彛 -// webSettings.setPluginsEnabled(true); // 鏀寔鎻掍欢 -// 璁剧疆鑷�傚簲灞忓箷锛屼袱鑰呭悎鐢� + // webSettings.setPluginsEnabled(true); // 鏀寔鎻掍欢 + // 璁剧疆鑷�傚簲灞忓箷锛屼袱鑰呭悎鐢� webSettings.setUseWideViewPort(true); // 灏嗗浘鐗囪皟鏁村埌閫傚悎 WebView 鐨勫ぇ灏� webSettings.setLoadWithOverviewMode(true); // 缂╂斁鑷冲睆骞曠殑澶у皬 -// 缂╂斁鎿嶄綔 + // 缂╂斁鎿嶄綔 webSettings.setSupportZoom(true); // 鏀寔缂╂斁锛岄粯璁や负 true webSettings.setBuiltInZoomControls(true); // 璁剧疆鍐呯疆鐨勭缉鏀炬帶浠讹紝鑻ヤ负 false锛屽垯璇� WebView 涓嶅彲缂╂斁 webSettings.setDisplayZoomControls(false); // 闅愯棌鍘熺敓鐨勭缉鏀炬帶浠� + webSettings.setLoadsImagesAutomatically(true);//棰勫姞杞� //webView寮笿sAlert mWebView.setWebChromeClient(new WebChromeClient() { @Override @@ -132,15 +137,26 @@ return super.onJsAlert(view, url, message, result); } }); - + MyWebViewInterface myWebViewInterface=new MyWebViewInterface(this); + mWebView.addJavascriptInterface(myWebViewInterface,"Android"); } void initView() { binding.flyBtn.setOnClickListener(v -> { - mWebView.evaluateJavascript("javascript:moveTo(116.399565,39.89432)", value -> { - + mWebView.evaluateJavascript("javascript:locationOverLay(116.399565,39.89432)", value -> { }); }); } + + public void showWaterIntakeDetail(String data){ + binding.bottomLL.setVisibility(View.VISIBLE); + } + + + + public void closeWaterIntakeDetail(){ + binding.bottomLL.setVisibility(View.GONE); + } + } diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java index 9a79648..a906b1f 100644 --- a/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java +++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MyFragment.java @@ -1,10 +1,34 @@ package com.dayu.pipirrapp.fragment; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + +import com.dayu.pipirrapp.databinding.FragmentMapBinding; +import com.dayu.pipirrapp.databinding.FragmentMyBinding; + /** * author: zuo * Date: 2023/12/20 * Time: 10:16 * 澶囨敞锛氭垜鐨� */ -public class MyFragment extends BaseFragment{ +public class MyFragment extends BaseFragment { + FragmentMyBinding binding; + + @Nullable + @Override + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + binding = FragmentMyBinding.inflate(inflater, container, false); + return binding.getRoot(); + } + + + + + } diff --git a/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java b/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java new file mode 100644 index 0000000..b453c5c --- /dev/null +++ b/app/src/main/java/com/dayu/pipirrapp/js/MyWebViewInterface.java @@ -0,0 +1,69 @@ +package com.dayu.pipirrapp.js; + +import android.content.Context; +import android.os.Handler; +import android.os.Looper; +import android.webkit.JavascriptInterface; + +import com.dayu.pipirrapp.fragment.MapFragment; +import com.dayu.pipirrapp.utils.ToastUtil; + +/** + * author: zuo + * Date: 2024-01-18 + * Time: 9:14 + * 澶囨敞锛氫緵Vue璋冪敤鍘熺敓 + */ +public class MyWebViewInterface { + + private MapFragment myContext; + + + public MyWebViewInterface(MapFragment context) { + myContext = context; + } + + @JavascriptInterface + public void showToast(String msg) { + ToastUtil.showToastLong(myContext.getContext(), msg); + } + + /** + * 鏄剧ず鍙栨按鍙h鎯� + * @param data + */ + @JavascriptInterface + public void showWaterIntakeView(String data) { + if (myContext instanceof MapFragment) { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + // 鍦ㄤ富绾跨▼涓婃墽琛孶I鎿嶄綔 + // 鏇存柊鎴栨搷浣淯I鍏冪礌鐨勪唬鐮� + myContext.showWaterIntakeDetail(data); + } + }); + + } + } + + /** + * 闅愯棌鍙栨按鍙h鎯� + * + */ + @JavascriptInterface + public void closeWaterIntakeView() { + if (myContext instanceof MapFragment) { + new Handler(Looper.getMainLooper()).post(new Runnable() { + @Override + public void run() { + // 鍦ㄤ富绾跨▼涓婃墽琛孶I鎿嶄綔 + // 鏇存柊鎴栨搷浣淯I鍏冪礌鐨勪唬鐮� + myContext.closeWaterIntakeDetail(); + } + }); +// myContext.closeWaterIntakeDetail(); + } + } + +} diff --git a/app/src/main/java/com/dayu/pipirrapp/view/MyWebView.java b/app/src/main/java/com/dayu/pipirrapp/view/MyWebView.java new file mode 100644 index 0000000..7c41000 --- /dev/null +++ b/app/src/main/java/com/dayu/pipirrapp/view/MyWebView.java @@ -0,0 +1,20 @@ +package com.dayu.pipirrapp.view; + +import android.content.Context; +import android.webkit.WebView; + +import androidx.annotation.NonNull; + +/** + * author: zuo + * Date: 2024-01-19 + * Time: 14:26 + * 澶囨敞锛� + */ +public class MyWebView extends WebView { + public MyWebView(@NonNull Context context) { + super(context); + }} + + + diff --git a/app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java b/app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java new file mode 100644 index 0000000..0771c04 --- /dev/null +++ b/app/src/main/java/com/dayu/pipirrapp/view/TitleBar.java @@ -0,0 +1,269 @@ +/** + * + */ +package com.dayu.pipirrapp.view; + +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.util.Log; +import android.view.View; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.dayu.pipirrapp.R; + + +/*** + * 鏍囬瑙嗗浘 + * + * @author shisl + * @time 2015-4-29 + */ +public class TitleBar extends LinearLayout { + + 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 TextView tvLeft; + private ImageView ivLeft; + private LinearLayout llLeft; + + private ImageButton ibCenter; + private TextView btnCenter; + + private TextView tvRight; + private ImageView ivRight; + private LinearLayout llRight; + + + public TitleBar(Context context, AttributeSet attrs, int defStyle) { + super(context, attrs); + initView(context); + } + + /** + * 鍒濆鍖栨垜浠嚜瀹氫箟鐨勭粍鍚堟帶浠� + */ + 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(); + } + } + + @Deprecated + public void setOnItemclickListner(int type, int aligh, OnClickListener listner) { + if (listner == null) { + return; + } + if (type == TEXT) { + switch (aligh) { + case LEFT: + setOnItemclickListner(ClickType_LEFT_TEXT, listner); + + break; + case CENTER: + setOnItemclickListner(ClickType_CENTER_TEXT, listner); + + break; + case RIGHT: + setOnItemclickListner(ClickType_RIGHT_TEXT, listner); + + break; + + default: + break; + } + } else if (type == IMAGE) { + switch (aligh) { + case LEFT: + setOnItemclickListner(ClickType_LEFT_IMAGE, listner); + + break; + case CENTER: + setOnItemclickListner(ClickType_CENTER_IMAGE, listner); + + break; + case RIGHT: + setOnItemclickListner(ClickType_RIGHT_IMAGE, listner); + break; + + default: + break; + } + + } + + } + + 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); + } + + 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(); + } + + } + + 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; + } + +} diff --git a/app/src/main/res/drawable/bg_fillet_wite.xml b/app/src/main/res/drawable/bg_fillet_wite.xml new file mode 100644 index 0000000..d5395d6 --- /dev/null +++ b/app/src/main/res/drawable/bg_fillet_wite.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="@color/white" /> + <corners android:radius="5dp" /> + <stroke + android:width="1dp" + android:color="@color/white" /> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_blue_bg.xml b/app/src/main/res/drawable/btn_blue_bg.xml new file mode 100644 index 0000000..e19ba9e --- /dev/null +++ b/app/src/main/res/drawable/btn_blue_bg.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="utf-8"?> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + + <item android:drawable="@drawable/btn_blue_bg_up" android:state_pressed="true" /> + <item android:drawable="@drawable/btn_blue_bg_down" /> + +</selector> \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_blue_bg_down.xml b/app/src/main/res/drawable/btn_blue_bg_down.xml new file mode 100644 index 0000000..0fac037 --- /dev/null +++ b/app/src/main/res/drawable/btn_blue_bg_down.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="@color/base_blue" /> + <corners android:radius="90dp" /> + <stroke + android:width="1dp" + android:color="@color/base_blue" /> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/btn_blue_bg_up.xml b/app/src/main/res/drawable/btn_blue_bg_up.xml new file mode 100644 index 0000000..a782396 --- /dev/null +++ b/app/src/main/res/drawable/btn_blue_bg_up.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="@color/down_blue" /> + <corners android:radius="90dp" /> + <stroke + android:width="1dp" + android:color="@color/down_blue" /> +</shape> \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_gps_navigation.xml b/app/src/main/res/drawable/ic_gps_navigation.xml new file mode 100644 index 0000000..137aa36 --- /dev/null +++ b/app/src/main/res/drawable/ic_gps_navigation.xml @@ -0,0 +1,21 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="31dp" + android:height="31dp" + android:viewportWidth="48" + android:viewportHeight="48"> + <path + android:pathData="M24,44C35.046,44 44,35.046 44,24C44,12.954 35.046,4 24,4C12.954,4 4,12.954 4,24C4,35.046 12.954,44 24,44Z" + android:strokeLineJoin="round" + android:strokeWidth="4" + android:fillColor="#1890FF" + android:fillType="evenOdd" + android:strokeColor="#1890FF" + android:strokeLineCap="round"/> + <path + android:pathData="M24,13L17,34L24,29L31,34L24,13Z" + android:strokeLineJoin="round" + android:strokeWidth="4" + android:fillColor="#FFF" + android:strokeColor="#FFF" + android:strokeLineCap="round"/> +</vector> diff --git a/app/src/main/res/drawable/ic_right.xml b/app/src/main/res/drawable/ic_right.xml new file mode 100644 index 0000000..aa888da --- /dev/null +++ b/app/src/main/res/drawable/ic_right.xml @@ -0,0 +1,13 @@ +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="31dp" + android:height="31dp" + android:viewportWidth="48" + android:viewportHeight="48"> + <path + android:pathData="M19,12L31,24L19,36" + android:strokeLineJoin="round" + android:strokeWidth="4" + android:fillColor="#00000000" + android:strokeColor="#757575" + android:strokeLineCap="round"/> +</vector> diff --git a/app/src/main/res/layout/activity_change_pass_word.xml b/app/src/main/res/layout/activity_change_pass_word.xml new file mode 100644 index 0000000..cbd933c --- /dev/null +++ b/app/src/main/res/layout/activity_change_pass_word.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:background="@color/bg_color" + android:orientation="vertical"> + + <com.dayu.pipirrapp.view.TitleBar + android:id="@+id/title" + android:layout_width="match_parent" + android:layout_height="45dp" + android:layout_alignParentTop="true" + app:centerText="淇敼瀵嗙爜" /> + + + <EditText + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:background="@color/white" + android:hint="璇疯緭鍏ユ棫瀵嗙爜" + android:paddingLeft="20dp" + android:paddingRight="20dp" /> + + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textColor="@color/grey" + + /> + + <EditText + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:background="@color/white" + android:hint="璇疯緭鍏ユ柊瀵嗙爜" + android:paddingLeft="20dp" + android:paddingRight="20dp" /> + + <EditText + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:layout_marginTop="1dp" + android:background="@color/white" + android:hint="鍐嶆杈撳叆鏂板瘑鐮�" + android:paddingLeft="20dp" + android:paddingRight="20dp" /> + + + <TextView + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:background="@drawable/ic_blue_background" + android:gravity="center" + android:layout_marginRight="40dp" + android:layout_marginLeft="40dp" + android:layout_marginTop="100dp" + android:text="淇� 鏀�" + android:textColor="@color/white" + android:textSize="@dimen/common_btn_text_size" /> + + + + + +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/custom_titlebar.xml b/app/src/main/res/layout/custom_titlebar.xml new file mode 100644 index 0000000..15d7b81 --- /dev/null +++ b/app/src/main/res/layout/custom_titlebar.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/woa_main_layout" + android:layout_width="fill_parent" + android:layout_height="50dp" + android:background="@color/title_color" + android:orientation="vertical"> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" + android:background="@null" + android:gravity="center_vertical" + android:orientation="horizontal"> + <!-- 宸﹁竟 --> + <LinearLayout + android:id="@+id/ll_left" + android:layout_width="0dp" + android:layout_height="fill_parent" + android:layout_weight="2" + android:background="@null" + android:gravity="center_vertical" + android:orientation="horizontal"> + + <ImageView + android:id="@+id/iv_titlebar_left" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:background="@null" + android:paddingLeft="5dp" + android:paddingTop="14dp" + android:paddingRight="10dp" + android:paddingBottom="14dp" + android:src="@mipmap/icon_back" + android:visibility="visible" /> + + <TextView + android:id="@+id/tv_titlebar_left" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:paddingBottom="1dp" + android:text="" + android:textSize="15sp" + + android:visibility="gone" /> + </LinearLayout> + <!-- 涓棿 --> + + <LinearLayout + android:id="@+id/ll_center" + android:layout_width="0dp" + android:layout_height="fill_parent" + android:layout_weight="8" + android:background="@null" + android:gravity="center" + android:orientation="horizontal"> + + <ImageButton + android:id="@+id/ib_titlebar_center" + android:layout_width="30dp" + android:layout_height="fill_parent" + android:visibility="gone" /> + + <Button + android:id="@+id/btn_titlebar_center" + android:layout_width="wrap_content" + android:layout_height="fill_parent" + android:background="@android:color/transparent" + android:ellipsize="end" + android:maxLines="1" + android:text="鏍囬" + android:textColor="#ffffff" + android:textSize="20sp" + android:visibility="visible" /> + </LinearLayout> + <!-- 鍙宠竟 --> + + <LinearLayout + android:id="@+id/ll_right" + android:layout_width="0dp" + android:layout_height="fill_parent" + android:layout_weight="2" + android:background="@null" + android:gravity="center_vertical|right" + android:orientation="horizontal" + android:paddingRight="15dp"> + + + <TextView + android:id="@+id/tv_titlebar_right" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@null" + android:text="瀹屾垚" + android:textColor="#333333" + android:textSize="20sp" + android:visibility="gone" /> + + <ImageView + android:id="@+id/iv_titlebar_right" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@null" + android:src="@null" + android:visibility="visible" /> + </LinearLayout> + </LinearLayout> + + <View + android:layout_width="match_parent" + android:layout_height="1px" + android:background="#e5e5e5" /> + +</LinearLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_map.xml b/app/src/main/res/layout/fragment_map.xml index e8e586f..5e3491b 100644 --- a/app/src/main/res/layout/fragment_map.xml +++ b/app/src/main/res/layout/fragment_map.xml @@ -16,4 +16,49 @@ android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="璺宠浆鍒版寚瀹氫綅缃�" /> + + <LinearLayout + android:visibility="gone" + android:id="@+id/bottomLL" + android:layout_width="match_parent" + android:layout_height="120dp" + android:layout_alignParentBottom="true" + android:background="@color/white" + android:orientation="horizontal"> + + <LinearLayout + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="1" + android:gravity="center" + android:orientation="vertical" + android:padding="10dp"> + + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="鍙栨按鍙�" + android:textColor="@color/black" /> + + <TextView + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="5dp" + android:text="鍙栨按鍙d綅缃�" + android:textColor="@color/black" /> + + + </LinearLayout> + + <ImageView + android:layout_width="80dp" + android:layout_height="80dp" + android:layout_gravity="center" + android:layout_marginRight="20dp" + android:padding="10dp" + android:src="@drawable/ic_gps_navigation" /> + + + </LinearLayout> </RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_my.xml b/app/src/main/res/layout/fragment_my.xml index 77d9ef6..ab21108 100644 --- a/app/src/main/res/layout/fragment_my.xml +++ b/app/src/main/res/layout/fragment_my.xml @@ -1,6 +1,185 @@ <?xml version="1.0" encoding="utf-8"?> -<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" - android:layout_height="match_parent"> + android:layout_height="match_parent" + android:background="@color/bg_color"> -</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file + <com.dayu.pipirrapp.view.TitleBar + android:id="@+id/title" + android:layout_width="match_parent" + android:layout_height="45dp" + android:layout_alignParentTop="true" + + app:centerText="涓汉涓績" /> + + + <View + + android:layout_width="match_parent" + android:layout_height="200dp" + android:layout_below="@+id/title" + android:background="@color/title_color" /> + + + <RelativeLayout + android:id="@+id/headRL_top" + android:layout_width="match_parent" + android:layout_height="190dp" + android:layout_below="@+id/title" + android:layout_marginLeft="25dp" + android:layout_marginTop="25dp" + android:layout_marginRight="25dp" + android:layout_marginBottom="15dp" + android:background="@drawable/bg_fillet_wite" + + > + + <de.hdodenhof.circleimageview.CircleImageView + android:id="@+id/head_img" + android:layout_width="80dp" + android:layout_height="80dp" + android:layout_centerVertical="true" + android:layout_marginLeft="15dp" + android:src="@mipmap/ic_head_bg" + app:civ_border_color="#FFFFFF" + app:civ_border_width="2dp" + tools:ignore="MissingClass" /> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="match_parent" + android:layout_marginLeft="20dp" + android:layout_marginRight="20dp" + android:layout_toEndOf="@+id/head_img" + android:gravity="center" + android:orientation="vertical"> + + <TextView + android:id="@+id/name" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:text="濮撳悕" + android:textColor="@color/black" /> + + <TextView + android:id="@+id/phone" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:text="18311594524" + android:textColor="@color/grey" /> + </LinearLayout> + + + </RelativeLayout> + + + <RelativeLayout + android:id="@+id/headRL" + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:layout_below="@+id/headRL_top"> + + <TextView + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + + android:background="@color/white" + android:gravity="center_vertical" + android:paddingLeft="30dp" + android:text="澶村儚" + android:textColor="@color/black" + android:textSize="@dimen/my_item_text_size" /> + + <ImageView + android:layout_width="25dp" + android:layout_height="25dp" + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:layout_marginRight="15dp" + android:src="@drawable/ic_right" /> + </RelativeLayout> + + <RelativeLayout + android:id="@+id/versionRL" + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:layout_below="@+id/headRL" + android:layout_marginTop="1dp"> + + <TextView + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:background="@color/white" + android:gravity="center_vertical" + android:paddingLeft="30dp" + android:text="褰撳墠鐗堟湰" + android:textColor="@color/black" + android:textSize="@dimen/my_item_text_size" /> + + <ImageView + android:layout_width="25dp" + android:layout_height="25dp" + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:layout_marginRight="15dp" + android:src="@drawable/ic_right" /> + </RelativeLayout> + + <RelativeLayout + android:id="@+id/passwordRL" + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:layout_below="@+id/versionRL" + android:layout_marginTop="1dp"> + + <TextView + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + + android:background="@color/white" + android:gravity="center_vertical" + android:paddingLeft="30dp" + android:text="淇敼瀵嗙爜" + android:textColor="@color/black" + android:textSize="@dimen/my_item_text_size" /> + + <ImageView + android:layout_width="25dp" + android:layout_height="25dp" + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:layout_marginRight="15dp" + android:src="@drawable/ic_right" /> + </RelativeLayout> + + <RelativeLayout + android:id="@+id/loginOutRL" + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + android:layout_below="@+id/passwordRL" + android:layout_marginTop="1dp"> + + <TextView + android:layout_width="match_parent" + android:layout_height="@dimen/item_height" + + android:background="@color/white" + android:gravity="center_vertical" + android:paddingLeft="30dp" + android:text="閫�鍑虹櫥褰�" + android:textColor="@color/black" + android:textSize="@dimen/my_item_text_size" /> + + <ImageView + android:layout_width="25dp" + android:layout_height="25dp" + android:layout_alignParentRight="true" + android:layout_centerVertical="true" + android:layout_marginRight="15dp" + android:src="@drawable/ic_right" /> + </RelativeLayout> + +</RelativeLayout> \ No newline at end of file diff --git a/app/src/main/res/mipmap-xhdpi/ic_head_bg.jpg b/app/src/main/res/mipmap-xhdpi/ic_head_bg.jpg new file mode 100644 index 0000000..17b3dba --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/ic_head_bg.jpg Binary files differ diff --git a/app/src/main/res/mipmap-xhdpi/icon_back.png b/app/src/main/res/mipmap-xhdpi/icon_back.png new file mode 100644 index 0000000..a129420 --- /dev/null +++ b/app/src/main/res/mipmap-xhdpi/icon_back.png Binary files differ diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 3df516b..94b9732 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -2,8 +2,10 @@ <resources> <color name="black">#FF000000</color> <color name="white">#FFFFFFFF</color> - <color name="base_blue">#3C9CFF</color> + <color name="base_blue">#1890FF</color> <color name="down_blue">#3a68fc</color> <color name="ws_pay_alpha">#00000000</color> - <color name="title_color">#3a68fc</color> + <color name="title_color">#1890FF</color> + <color name="bg_color">#F5F5F5</color> + <color name="grey">#757575</color> </resources> \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..ec55a0e --- /dev/null +++ b/app/src/main/res/values/dimens.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + + + <dimen name="item_height">50dp</dimen> + <dimen name="my_item_text_size">17sp</dimen> + <dimen name="common_btn_text_size">20sp</dimen> +</resources> \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 8e7946e..38720b6 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -15,5 +15,13 @@ - + <!-- 鏍囬瀵艰埅鏉� --> + <declare-styleable name="TitleBar"> + <attr name="leftText" format="string" /> + <attr name="centerText" format="string" /> + <attr name="rightText" format="string" /> + <attr name="leftImage" format="integer"></attr> + <attr name="centerImage" format="integer"></attr> + <attr name="rightImage" format="integer"></attr> + </declare-styleable> </resources> diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 1571d15..63e5f61 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -3,7 +3,7 @@ <style name="Theme.PipIrrApp" parent="Theme.AppCompat.Light.NoActionBar" > - <item name="android:windowAnimationStyle">@null</item> </style> + </resources> \ No newline at end of file -- Gitblit v1.8.0