基本框架搭建,原APP数据套餐模块迁移

This commit is contained in:
lianlilong 2024-04-29 21:39:49 +08:00
commit 8fa28066f6
173 changed files with 11421 additions and 0 deletions

16
.gitignore vendored Normal file
View File

@ -0,0 +1,16 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
/.idea/

1
app/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build

59
app/build.gradle Normal file
View File

@ -0,0 +1,59 @@
plugins {
alias(libs.plugins.androidApplication)
}
android {
namespace 'com.police.union'
compileSdk 34
defaultConfig {
applicationId "com.police.policedatasystem"
minSdk 24
targetSdk 34
versionCode 10000
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
buildFeatures {
compose true
viewBinding true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
implementation 'androidx.recyclerview:recyclerview:1.3.2'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
// implementation 'com.squareup.retrofit2:adapter-okhttp3:2.9.0' // OkHttp适配器
implementation 'com.scwang.smart:refresh-layout-kernel:2.0.3'
implementation 'com.scwang.smart:refresh-footer-classics:2.0.3'//
implementation 'com.scwang.smart:refresh-header-classics:2.0.3'//
// implementation 'io.reactivex:rxjava:1.3.8'
// implementation 'io.reactivex:rxandroid:1.2.1'
implementation 'com.squareup.retrofit2:retrofit:2.9.0' //
implementation 'com.squareup.retrofit2:converter-gson:2.9.0' // 使 Gson JSON
implementation 'com.squareup.okhttp3:logging-interceptor:4.7.2'
// implementation 'com.squareup.okhttp3:okhttp:4.8.1' // OkHttp库
implementation 'com.github.bumptech.glide:glide:4.16.0'
implementation 'com.google.android.material:material:1.8.0'
implementation 'androidx.navigation:navigation-fragment:2.5.3'
implementation 'androidx.navigation:navigation-ui:2.5.3'
implementation 'com.github.barteksc:android-pdf-viewer:3.2.0-beta.1'
implementation libs.activity
implementation project(':base')
implementation project(':network')
implementation project(':utils')
}

21
app/proguard-rules.pro vendored Normal file
View File

@ -0,0 +1,21 @@
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile

View File

@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<queries>
<provider android:authorities="com.xdja.app.pj" />
<provider android:authorities="com.ydjw.ua.getCredential" />
<provider android:authorities="com.ydjw.ua.getDeviceCredential" />
<provider android:authorities="com.ydjw.rsb.getResourceAddress" />
</queries>
<application
android:name="com.police.base.App"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="@style/Theme.Union"
tools:targetApi="31">
<activity
android:name=".home.activity.DataActivity"
android:exported="false" />
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<data
android:host="indexActivity"
android:scheme="indexActivity"
tools:ignore="AppLinkUrlError" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.police.union.home.activity.KeyPersonDetailActivity" />
<activity android:name="com.police.union.home.activity.ApplyActivity" />
<activity android:name="com.police.union.home.activity.QueryApplyResultActivity" />
<activity android:name="com.police.union.home.activity.ApplyDetailActivity" />
<activity android:name="com.police.union.home.activity.PoliceEmergencyDetailActivity" />
</application>
</manifest>

View File

@ -0,0 +1,118 @@
package com.police.union;
import static com.police.network.UaCredentialApi.ACTION_SUFFIX_UA_LOGIN;
import static com.police.network.UaCredentialApi.ACTION_UA_LOGOUT;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.text.TextUtils;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentTransaction;
import com.police.base.BaseActivity;
import com.police.network.Constants;
import com.police.union.chat.fragment.ChatFragment;
import com.police.union.databinding.ActivityMainBinding;
import com.police.union.home.fragment.HomeFragment;
import com.police.union.personal.fragment.MineFragment;
public class MainActivity extends BaseActivity {
private ActivityMainBinding binding;
private final Fragment[] fragments = {new ChatFragment(), new HomeFragment(), new MineFragment()};
private RequestClient requestClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
initView();
requestClient = RequestClient.instance();
registerBroadcastReceiver();
requestClient.init(() -> {
binding.wmWm.setTextSize(50);
binding.wmWm.setText(Constants.SFZH);
});
}
private void initView() {
changeFragment(fragments[0]);
binding.llChat.setOnClickListener(view -> {
changeSelectView(0);
changeFragment(fragments[0]);
});
binding.llHome.setOnClickListener(view -> {
changeSelectView(1);
changeFragment(fragments[1]);
});
binding.llPerson.setOnClickListener(view -> {
changeSelectView(2);
changeFragment(fragments[2]);
});
}
private void changeSelectView(int index) {
binding.ivChat.setImageResource(index == 0 ? R.mipmap.icon_chat_selected : R.mipmap.icon_chat_normal);
binding.tvChat.setTextColor(getColor(index == 0 ? R.color.main_color : R.color.normal_color));
binding.ivHome.setImageResource(index == 1 ? R.mipmap.icon_home_selected : R.mipmap.icon_home_normal);
binding.tvHome.setTextColor(getColor(index == 1 ? R.color.main_color : R.color.normal_color));
binding.ivPerson.setImageResource(index == 2 ? R.mipmap.icon_personal_selected : R.mipmap.icon_personal_normal);
binding.tvPerson.setTextColor(getColor(index == 2 ? R.color.main_color : R.color.normal_color));
}
private void changeFragment(Fragment newFragment) {
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.replace(binding.fcView.getId(), newFragment);
transaction.commit();
}
private void registerBroadcastReceiver() {
IntentFilter intentFilter = new IntentFilter();
String pkgName = getPackageName();
/**添加登录成功事件监听
* 当第一次登录调用IF-UA-SDK-01接口可能返回"票据不存在"此时需要注册监听此事件
* 当登录成功后接收到此事件即可重新调用IF-UA-SDK-01获取相关票据
* */
intentFilter.addAction(pkgName + ACTION_SUFFIX_UA_LOGIN);
/**增加登出事件监听
* 当UA主动账户退出时会发送该事件此时已经登录应用可以根据自身业务实施退出
* */
intentFilter.addAction(pkgName + ACTION_UA_LOGOUT);
registerReceiver(uaLoginInReceiver, intentFilter);
}
private final BroadcastReceiver uaLoginInReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (TextUtils.isEmpty(action)) {
return;
}
if (action.contains(ACTION_SUFFIX_UA_LOGIN)) {
//再次获取票据
if (requestClient != null) {
requestClient.init(() -> {
});
}
return;
}
if (action.contains(ACTION_UA_LOGOUT)) {
//程序退出
startActivity(new Intent(MainActivity.this, MainActivity.class));
finish();
}
}
};
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(uaLoginInReceiver);
}
}

View File

@ -0,0 +1,466 @@
package com.police.union;
import androidx.annotation.NonNull;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.police.network.BaseRequestClient;
import com.police.network.Constants;
import com.police.network.CustomCallBack;
import com.police.network.requestparams.GetKeyPersonDetailParams;
import com.police.network.requestparams.GetKeyPersonListParams;
import com.police.network.requestparams.GetKeyPersonMessageCountParams;
import com.police.network.requestparams.GetOrgKeyPersonListParams;
import com.police.network.requestparams.GetPoliceEmergencyDetailParams;
import com.police.network.requestparams.GetPoliceEmergencyListParams;
import com.police.union.home.model.Apply;
import com.police.union.home.model.ApplyDept;
import com.police.union.home.model.ApplyDetail;
import com.police.union.home.model.ApplyPerson;
import com.police.union.home.model.ApplyType;
import com.police.union.home.model.DataCount;
import com.police.union.home.model.DetailQueryResult;
import com.police.union.home.model.KeyPerson;
import com.police.union.home.model.KeyPersonDetail;
import com.police.union.home.model.PoliceEmergency;
import com.police.union.home.model.PoliceEmergencyDetail;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
public class RequestClient extends BaseRequestClient {
private RequestClient() {
}
private static final class RequestClientHolder {
static final RequestClient requestClient = new RequestClient();
}
public static RequestClient instance() {
return RequestClientHolder.requestClient;
}
/**
* 获取重点人
*
* @param params 参数对象
* @param callback 回调函数
*/
public void getKeyPerson(GetKeyPersonListParams params, CustomCallBack<List<KeyPerson>> callback) {
params.setJybh(Constants.USER_ID);
params.setSfhm(Constants.SFZH);
params.setPageSize(Constants.PAGE_SIZE + "");
request(Constants.KEY_PERSON_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callback.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<KeyPerson> keyPersonList = new Gson().fromJson(value, new TypeToken<List<KeyPerson>>() {
}.getType());
callback.onSuccess(keyPersonList);
}
});
}
/**
* 获取组织重点人数据
*
* @param params 搜索关键字姓名
*/
public void getOrgKeyPerson(GetOrgKeyPersonListParams params, CustomCallBack<List<KeyPerson>> callback) {
params.setSfhm(Constants.SFZH);
params.setDept(Constants.USER_ORG_ID);
params.setPageSize(Constants.PAGE_SIZE + "");
request(Constants.ORG_KEY_PERSON_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callback.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<KeyPerson> keyPersonList = new Gson().fromJson(value, new TypeToken<List<KeyPerson>>() {
}.getType());
callback.onSuccess(keyPersonList);
}
});
}
/**
* 获取重点人详情数据
*
* @param str 身份证号
*/
public void keyPersonDetail(String str, CustomCallBack<KeyPersonDetail> callBack) {
GetKeyPersonDetailParams params = new GetKeyPersonDetailParams();
params.setSfzh(str);// params.setSfzh("220104197307276911");
params.setSfhm(Constants.SFZH);
request(Constants.KEY_PERSON_DETAIL_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
KeyPersonDetail keyPersonList = new Gson().fromJson(value, new TypeToken<KeyPersonDetail>() {
}.getType());
callBack.onSuccess(keyPersonList);
}
});
}
/**
* 获取警情列表数据
*
* @param params 参数
* @param callBack 回调函数
*/
public void getPoliceEmergency(GetPoliceEmergencyListParams params, CustomCallBack<List<PoliceEmergency>> callBack) {
params.setSfhm(Constants.SFZH);
params.setPageSize(Constants.PAGE_SIZE + "");
request(Constants.POLICE_EMERGENCY_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<PoliceEmergency> keyPersonList = new Gson().fromJson(value, new TypeToken<List<PoliceEmergency>>() {
}.getType());
callBack.onSuccess(keyPersonList);
}
});
}
/**
* 获取重点人详情数据
*
* @param str 身份证号
*/
public void getPoliceEmergencyDetail(String str, CustomCallBack<PoliceEmergencyDetail> callBack) {
GetPoliceEmergencyDetailParams params = new GetPoliceEmergencyDetailParams();
params.setJcjbh(str);// params.setSfzh("220104197307276911");
params.setSfhm(Constants.SFZH);
request(Constants.POLICE_EMERGENCY_DETAIL_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
PoliceEmergencyDetail keyPersonDetail = new Gson().fromJson(value, PoliceEmergencyDetail.class);
callBack.onSuccess(keyPersonDetail);
}
});
}
/**
* 获取重点人数据统计
*/
public void getKeyPersonMessageCount(CustomCallBack<DataCount> callBack) {
GetKeyPersonMessageCountParams params = new GetKeyPersonMessageCountParams();
params.setSfhm(Constants.SFZH);
params.setJybh(Constants.USER_ID);
params.setDept(Constants.USER_ORG_ID);
// params.setSfhm("220183197210264653");
// params.setJybh("106222");
// params.setDept("220183210000");
request(Constants.KEY_PERSON_MESSAGE_COUNT_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
DataCount dataCount = new Gson().fromJson(value, DataCount.class);
callBack.onSuccess(dataCount);
}
});
}
/**
* 获取申请支援类型
*/
public void getApplyType(CustomCallBack<List<ApplyType>> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("type", "1");
params.put("deptId", Constants.USER_ORG_ID);
params.put("sfhm", Constants.SFZH);
request(Constants.APPLY_TYPE_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<ApplyType> applyTypes = new Gson().fromJson(value, new TypeToken<List<ApplyType>>() {
}.getType());
callBack.onSuccess(applyTypes);
}
});
}
/**
* 获取申请部门
*/
public void getApplyDept(CustomCallBack<List<ApplyDept>> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("type", "2");
params.put("deptId", Constants.USER_ORG_ID);
params.put("sfhm", Constants.SFZH);
request(Constants.APPLY_TYPE_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<ApplyDept> applyTypes = new Gson().fromJson(value, new TypeToken<List<ApplyDept>>() {
}.getType());
callBack.onSuccess(applyTypes);
}
});
}
/**
* 获取申请支援审批人
*/
public void getApplyPerson(String deptId, CustomCallBack<List<ApplyPerson>> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("type", "3");
params.put("deptId", deptId);
params.put("sfhm", Constants.SFZH);
request(Constants.APPLY_TYPE_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<ApplyPerson> applyTypes = new Gson().fromJson(value, new TypeToken<List<ApplyPerson>>() {
}.getType());
callBack.onSuccess(applyTypes);
}
});
}
/**
* 获取申请支援-消息来源
*/
public void getApplyXXLY(CustomCallBack<List<ApplyType>> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("type", "4");
params.put("deptId", Constants.USER_ORG_ID);
params.put("sfhm", Constants.SFZH);
request(Constants.APPLY_TYPE_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<ApplyType> applyTypes = new Gson().fromJson(value, new TypeToken<List<ApplyType>>() {
}.getType());
callBack.onSuccess(applyTypes);
}
});
}
/**
* 获取申请支援-警务类型
*/
public void getApplyJWLX(CustomCallBack<List<ApplyType>> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("type", "5");
params.put("deptId", Constants.USER_ORG_ID);
params.put("sfhm", Constants.SFZH);
request(Constants.APPLY_TYPE_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<ApplyType> applyTypes = new Gson().fromJson(value, new TypeToken<List<ApplyType>>() {
}.getType());
callBack.onSuccess(applyTypes);
}
});
}
/**
* 获取我的赋能-办理状态
*/
public void getMineBLZT(CustomCallBack<List<ApplyType>> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("type", "6");
params.put("deptId", Constants.USER_ORG_ID);
params.put("sfhm", Constants.SFZH);
request(Constants.APPLY_TYPE_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<ApplyType> applyTypes = new Gson().fromJson(value, new TypeToken<List<ApplyType>>() {
}.getType());
callBack.onSuccess(applyTypes);
}
});
}
/**
* 获取我的赋能-信息来源
*/
public void getMineXXLY(CustomCallBack<List<ApplyType>> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("type", "7");
params.put("deptId", Constants.USER_ORG_ID);
params.put("sfhm", Constants.SFZH);
request(Constants.APPLY_TYPE_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<ApplyType> applyTypes = new Gson().fromJson(value, new TypeToken<List<ApplyType>>() {
}.getType());
callBack.onSuccess(applyTypes);
}
});
}
/**
* 申请赋能-提交申请
*/
public void addApply(HashMap<String, String> params, CustomCallBack<Object> callBack) {
params.put("sfhm", Constants.SFZH);
request(Constants.APPLY_COMMIT_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
callBack.onSuccess(null);
}
});
}
/**
* 我的赋能-查询我申请的赋能{
* "sfhm": "220104199208240015",
* "sqsj": "",
* "sy": "",
* "ly": "",
* "spzt": "",
* "fnbh": ""
* }
*/
public void getApplyList(HashMap<String, String> params, CustomCallBack<List<Apply>> callBack) {
params.put("sfhm", "220183197210264653");
request(Constants.MINE_LIST_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
List<Apply> applyTypes = new Gson().fromJson(value, new TypeToken<List<Apply>>() {
}.getType());
callBack.onSuccess(applyTypes);
}
});
}
/**
* 我的赋能详情
*/
public void getApplyDetail(String fnbh, CustomCallBack<ApplyDetail> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("sfhm", Constants.SFZH);
params.put("fnbh", fnbh);
params.put("deptId", Constants.USER_ORG_ID);
request(Constants.MINE_DETAIL_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
ApplyDetail applyDetail = new Gson().fromJson(value, ApplyDetail.class);
callBack.onSuccess(applyDetail);
}
});
}
/**
* 警情详情跳转到我的赋能详情
*/
public void jumpApplyDetail(String jqbh, CustomCallBack<ApplyDetail> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("sfhm", Constants.SFZH);
params.put("sfzh", Constants.SFZH);
params.put("jqbh", jqbh);
params.put("deptId", Constants.USER_ORG_ID);
request(Constants.MINE_DETAIL_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
ApplyDetail applyDetail = new Gson().fromJson(value, ApplyDetail.class);
callBack.onSuccess(applyDetail);
}
});
}
/**
* 我的赋能详情
*/
public void policeEmergencyDetailQuery(int type, String content, CustomCallBack<DetailQueryResult> callBack) {
HashMap<String, String> params = new HashMap<>();
params.put("sfhm", Constants.SFZH);
params.put("type", type + "");
params.put("condi", content);
request(Constants.SELF_QUERY_ID, new Gson().toJson(params), new CustomCallBack<String>() {
@Override
public void onError(Call call, @NonNull Exception e) {
callBack.onError(call, e);
}
@Override
public void onSuccess(String value) {
DetailQueryResult applyDetail = new Gson().fromJson(value, DetailQueryResult.class);
callBack.onSuccess(applyDetail);
}
});
}
}

View File

@ -0,0 +1,23 @@
package com.police.union.chat.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.police.base.BaseFragment;
import com.police.union.databinding.FragmentChatBinding;
public class ChatFragment extends BaseFragment {
private FragmentChatBinding binding;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = FragmentChatBinding.inflate(inflater);
return binding.getRoot();
}
}

View File

@ -0,0 +1,293 @@
package com.police.union.home.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.police.base.BaseActivity;
import com.police.union.R;
import com.police.union.RequestClient;
import com.police.union.databinding.ActivityApplyBinding;
import com.police.union.databinding.DialogDeptSelectorBinding;
import com.police.union.databinding.DialogSelectorBinding;
import com.police.union.home.model.ApplyDept;
import com.police.union.home.model.ApplyPerson;
import com.police.union.home.viewmodel.ApplyPostViewModel;
import com.police.utils.UiUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
public class ApplyActivity extends BaseActivity {
private ApplyPostViewModel viewModel;
public List<ApplyDept> applyDept;
public List<ApplyPerson> applyPeople;
public RequestClient requestClient;
private ActivityApplyBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityApplyBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
requestClient = RequestClient.instance();
binding.ivBack.setOnClickListener(view -> finish());
initView();
}
private void initView() {
viewModel = new ApplyPostViewModel(this);
binding.includeApply.tvCommitBtn.setOnClickListener(view -> addApply());
binding.rlLoading.setOnClickListener(view -> {
});
binding.includeApply.tvQueryOrg.setOnClickListener(view -> showDeptDialog((TextView) view, "选择部门", applyDept));
binding.includeApply.tvQueryName.setOnClickListener(view -> showPerson(applyPeople));
viewModel.getApplyDept();
binding.includeApply.tvQueryOrg.setOnClickListener(view -> showDept(applyDept));
binding.includeApply.etSearchTitle.setText(getIntent().getStringExtra("jqbh"));
// binding.includeApply.tvQueryName2.setOnClickListener(view -> {
// //打开相册选择一张图片
// openAlbum();
// });
}
private void openAlbum() {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 250);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//相册
if (requestCode == 250 && resultCode == RESULT_OK && data != null) {
nrFj = UiUtils.uriToBase64(this, data.getData());
// binding.includeApply.tvQueryName2.setText(data.getData().toString());
}
}
private String nrFj = "";
public void showDept(List<ApplyDept> applyDept) {
if (applyDept == null || applyDept.isEmpty()) {
Toast.makeText(this, "暂无归属部门", Toast.LENGTH_SHORT).show();
return;
}
showDeptDialog(binding.includeApply.tvQueryOrg, "选择归属部门", applyDept);
}
public void showPerson(List<ApplyPerson> applyPeople) {
if (applyPeople == null || applyPeople.isEmpty()) {
Toast.makeText(this, "暂无审批人", Toast.LENGTH_SHORT).show();
return;
}
List<String> names = applyPeople.stream().map(ApplyPerson::getUserName).collect(Collectors.toList());
showDialog(binding.includeApply.tvQueryName, "选择审批人", names);
}
public void showDialog(TextView textView, String title, List<String> items) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
DialogSelectorBinding selectorBinding = DialogSelectorBinding.inflate(getLayoutInflater());
View dialogView = selectorBinding.getRoot();
selectorBinding.tvDialogTitle.setText(title);
RecyclerView recyclerView = selectorBinding.rcv;
recyclerView.setLayoutManager(new LinearLayoutManager(this));
BaseQuickAdapter<String, BaseViewHolder> adapter = new BaseQuickAdapter<String, BaseViewHolder>(R.layout.item_dialog_selector, items) {
@Override
protected void convert(@NonNull BaseViewHolder baseViewHolder, String s) {
baseViewHolder.setText(R.id.tv_item_text, s);
}
};
recyclerView.setAdapter(adapter);
builder.setView(dialogView);
AlertDialog dialog = builder.create();
adapter.setOnItemClickListener((adapter1, view, position) -> {
textView.setText(items.get(position));
dialog.dismiss();
});
dialog.show();
}
public void showDeptDialog(TextView textView, String title, List<ApplyDept> items) {
AlertDialog.Builder builder = new AlertDialog.Builder(this, R.style.TransparentAlertDialog);
DialogDeptSelectorBinding selectorBinding = DialogDeptSelectorBinding.inflate(getLayoutInflater());
View dialogView = selectorBinding.getRoot();
selectorBinding.tvDialogTitle.setText(title);
RecyclerView recyclerView = selectorBinding.rcv;
recyclerView.setLayoutManager(new LinearLayoutManager(this));
List<ApplyDept> data = new ArrayList<>();
for (ApplyDept item : items) {
if ("0".equals(item.getpId())) {
data.add(item);
break;
}
}
BaseQuickAdapter<ApplyDept, BaseViewHolder> adapter = new BaseQuickAdapter<ApplyDept, BaseViewHolder>(R.layout.item_select_dept, data) {
@Override
protected void convert(@NonNull BaseViewHolder baseViewHolder, ApplyDept s) {
baseViewHolder.setText(R.id.tv_title, s.getName());
boolean hasChild = false;
for (ApplyDept item : items) {
if (s.getId().equals(item.getpId())) {
hasChild = true;
break;
}
}
baseViewHolder.setVisible(R.id.iv_sanjiao, hasChild);
if (s.isOpen()) {
baseViewHolder.setImageResource(R.id.iv_sanjiao, R.mipmap.icon_down_sanjiao);
baseViewHolder.setImageResource(R.id.iv_box, R.mipmap.icon_selected);
baseViewHolder.setTextColor(R.id.tv_title, getResources().getColor(R.color.main_color));
baseViewHolder.setBackgroundColor(R.id.tv_title, getResources().getColor(R.color.selected_bg_color));
} else {
baseViewHolder.setImageResource(R.id.iv_sanjiao, R.mipmap.icon_right_sanjiao);
baseViewHolder.setImageResource(R.id.iv_box, R.mipmap.icon_unselected);
baseViewHolder.setTextColor(R.id.tv_title, getResources().getColor(R.color.color_666));
baseViewHolder.setBackgroundColor(R.id.tv_title, getResources().getColor(R.color.white));
}
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.getLevel(); i++) {
sb.append(" ");
}
baseViewHolder.setText(R.id.v_level, sb);
}
};
recyclerView.setAdapter(adapter);
builder.setView(dialogView);
AlertDialog dialog = builder.create();
adapter.setOnItemClickListener((adapter1, view, position) -> {
ApplyDept dept = data.get(position);
boolean open = dept.isOpen();
int addCount = 1;
for (ApplyDept item : items) {
if (item.getpId().equals(dept.getId())) {
if (open) {
removeItem(data, item);
} else {
item.setLevel(dept.getLevel() + 1);
data.add(position + addCount, item);
addCount += 1;
}
}
}
if (open) {
cancelSelected(dept);
} else {
enterSelected(data, dept);
}
adapter.setList(data);
selectorBinding.tvEnter.setOnClickListener(view1 -> {
long selectId = -1;
ApplyDept selectDept = null;
for (ApplyDept item : applyDept) {
if (item.isOpen()) {
item.setOpen(false);
if (selectId < Long.parseLong(item.getId())) {
selectId = Long.parseLong(item.getId());
selectDept = item;
}
}
}
if (selectId >= 0) {
textView.setText(selectDept.getTitle());
viewModel.getApplyPerson(selectId + "");
dialog.dismiss();
} else {
Toast.makeText(this, "请选择一个归属部门", Toast.LENGTH_SHORT).show();
}
});
});
dialog.show();
}
private void removeItem(List<ApplyDept> data, ApplyDept dept) {
data.remove(dept);
for (int i = 0; i < data.size(); i++) {
if (data.get(i).getpId().equals(dept.getId())) {
removeItem(data, data.get(i));
}
}
}
/**
* 发送成功跳转到成功页面
*/
public void sendSuccess() {
Toast.makeText(this, "提交成功!", Toast.LENGTH_SHORT).show();
finish();
}
/**
* 取消勾选
*/
private void cancelSelected(ApplyDept dept) {
dept.setOpen(false);
for (ApplyDept item : applyDept) {
if (item.getpId().equals(dept.getId())) {
cancelSelected(item);
}
}
}
/**
* 选择勾选
*/
private void enterSelected(List<ApplyDept> data, ApplyDept dept) {
for (ApplyDept item : applyDept) {
if (item.getpId().equals(dept.getpId()) && !item.equals(dept)) {
cancelSelected(item);
for (ApplyDept i : applyDept) {
if (i.getpId().equals(item.getId())) {
removeItem(data, i);
}
}
}
}
dept.setOpen(true);
}
/**
* 提交
*/
private void addApply() {
HashMap<String, String> params = new HashMap<>();
params.put("jqbh", binding.includeApply.etSearchTitle.getText().toString());
params.put("sy", "7");
params.put("sqnr", binding.includeApply.etQueryBody.getText().toString());
params.put("nrFj", nrFj);
params.put("shrName", binding.includeApply.tvQueryName.getText().toString());
for (ApplyPerson item : applyPeople) {
if (item.getUserName().equals(binding.includeApply.tvQueryName.getText().toString())) {
params.put("shrSfhm", item.getLoginName());
break;
}
}
viewModel.addApply(params);
}
public void loadingShow() {
binding.rlLoading.setVisibility(View.VISIBLE);
}
public void loadingNone() {
binding.rlLoading.setVisibility(View.GONE);
}
}

View File

@ -0,0 +1,71 @@
package com.police.union.home.activity;
import android.os.Bundle;
import android.util.Base64;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity;
import com.github.barteksc.pdfviewer.PDFView;
import com.police.union.databinding.ActivityApplyDetailBinding;
import com.police.union.home.model.ApplyDetail;
import com.police.union.home.viewmodel.DetailViewModel;
import com.police.utils.UiUtils;
public class ApplyDetailActivity extends AppCompatActivity {
private ActivityApplyDetailBinding binding;
private DetailViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityApplyDetailBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
binding.ivBack.setOnClickListener(view -> finish());
binding.rlLoading.setOnClickListener(view -> {
});
viewModel = new DetailViewModel(this);
// if (getIntent().getStringExtra("applyDetail") == null) {
//// viewModel.jumpApplyDetail(getIntent().getStringExtra("jqbh"));
// } else {
viewModel.getApplyDetail(getIntent().getStringExtra("applyDetail"));
// }
}
public void applyDetail(ApplyDetail detail) {
binding.tvDetailFnbh.setText(detail.getBh());
binding.tvDetailSqsy.setText(detail.getSy());
binding.tvDetailSqsj.setText(detail.getCreateTimeStr());
binding.tvDetailJwlx.setText(detail.getLy());
binding.tvDetailShzt.setText(detail.getSpzt());
// binding.tvDetailFnxq.setText(detail.getFj());
// 加载PDF文件
// File file = new File("/path/to/your/pdf/file.pdf"); // 替换为你的PDF文件路径
if (detail.getFj() != null && !detail.getFj().isEmpty()) {
for (String item : detail.getFj()) {
PDFView pdfView = new PDFView(this, null);
pdfView.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, UiUtils.dp2Px(500)));
pdfView.fromBytes(Base64.decode(item, Base64.DEFAULT))
.enableSwipe(true) // 允许滑动翻页
.enableDoubletap(true) // 允许双击缩放
.enableAnnotationRendering(true) // 允许渲染注释
.load();
binding.llGroup.addView(pdfView);
}
}
}
public void loadingShow() {
binding.rlLoading.setVisibility(View.VISIBLE);
}
public void loadingNone() {
binding.rlLoading.setVisibility(View.GONE);
}
}

View File

@ -0,0 +1,382 @@
package com.police.union.home.activity;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.LinearLayout;
import android.widget.PopupWindow;
import android.widget.TextView;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.police.base.App;
import com.police.base.BaseActivity;
import com.police.union.R;
import com.police.union.RequestClient;
import com.police.union.databinding.ActivityDataBinding;
import com.police.union.home.adapter.KeyPersonAdapter;
import com.police.union.home.adapter.PoliceEmergencyAdapter;
import com.police.union.home.model.KeyPerson;
import com.police.union.home.model.PoliceEmergency;
import com.police.union.home.viewmodel.DataViewModel;
import com.scwang.smart.refresh.footer.ClassicsFooter;
import com.scwang.smart.refresh.header.ClassicsHeader;
import java.util.ArrayList;
import java.util.List;
public class DataActivity extends BaseActivity {
public ActivityDataBinding binding;
private DataViewModel viewModel;
private PopupWindow popupWindow;
private PopupWindow popupWindow2;
private PopupWindow popupWindow3;
public final List<KeyPerson> personList = new ArrayList<>();
public final List<PoliceEmergency> policeList = new ArrayList<>();
public BaseQuickAdapter adapter;
private int currentTabBar = 1;
private int currentTab = 1;
public int filterType = 0;
public RequestClient requestClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityDataBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
requestClient = RequestClient.instance();
viewModel = new DataViewModel(this);
initView();
initData();
}
private void initView() {
binding.refreshLayout.setRefreshHeader(new ClassicsHeader(this));
binding.refreshLayout.setRefreshFooter(new ClassicsFooter(this));
binding.rvGroup.setLayoutManager(new LinearLayoutManager(this));
keyPersonInitAdapter();
setPopupWindow();
setPopupWindow2();
setPopupWindow3();
}
private void initData() {
viewModel.keyPersonInit();
// viewModel.getKeyPersonMessageCount();
initListener();
}
private void initListener() {
//重点人案情案件点击事件
binding.llKeyPerson.setOnClickListener(view -> tabBarOnClick(1));
binding.llPoliceEmergency.setOnClickListener(view -> tabBarOnClick(2));
binding.llCaseDetails.setOnClickListener(view -> tabBarOnClick(3));
//搜索按钮添加点击事件
binding.tvSearchBtn.setOnClickListener(view -> {
if (!App.getApp().findAddress) return;
if (currentTabBar == 1) {
if (currentTab == 1) {
viewModel.keyPersonInit();
} else {
viewModel.orgKeyPersonInit();
}
} else if (currentTabBar == 2) {
viewModel.policeEmergencyInit();
}
});
//我的重点人与区域重点人tab点击切换事件
binding.llMyKeyPerson.setOnClickListener(view -> tabOnClick(1));
binding.llAreaKeyPerson.setOnClickListener(view -> tabOnClick(2));
//loading视图设置空的点击事件
binding.rlLoading.setOnClickListener(view -> {
});
//筛选文字下拉菜单按钮点击事件
binding.typeGroup.setOnClickListener(view -> {
if (!App.getApp().findAddress) return;
if (currentTabBar == 1) {
popupWindow.showAsDropDown(binding.typeGroup);
} else if (currentTabBar == 2) {
popupWindow2.showAsDropDown(binding.typeGroup);
} else {
popupWindow3.showAsDropDown(binding.typeGroup);
}
});
//重点人列表条目点击事件
adapter.setOnItemClickListener((adapter1, view, position) -> viewModel.keyPersonDetail(personList.get(position).getSfzh()));
//刷新列表
binding.refreshLayout.setOnRefreshListener(refreshlayout -> {
if (currentTabBar == 1) {
if (currentTab == 1) {
viewModel.keyPersonRefresh();
} else {
viewModel.orgKeyPersonRefresh();
}
return;
}
if (currentTabBar == 2) {
viewModel.policeEmergencyRefresh();
return;
}
if (currentTabBar == 3) {
if (currentTab == 1) {
viewModel.keyPersonRefresh();
} else {
viewModel.orgKeyPersonRefresh();
}
}
});
//加载更多
binding.refreshLayout.setOnLoadMoreListener(refreshlayout -> {
if (currentTabBar == 1) {
if (currentTab == 1) {
viewModel.keyPersonLoadMore();
} else {
viewModel.orgKeyPersonLoadMore();
}
return;
}
if (currentTabBar == 2) {
viewModel.policeEmergencyLoadMore();
}
});
}
private void keyPersonInitAdapter() {
adapter = new KeyPersonAdapter();
adapter.setNewInstance(personList);
binding.rvGroup.setAdapter(adapter);
adapter.setOnItemClickListener((adapter1, view, position) -> viewModel.keyPersonDetail(personList.get(position).getSfzh()));
}
private void policeEmergencyInitAdapter() {
adapter = new PoliceEmergencyAdapter();
adapter.setNewInstance(policeList);
binding.rvGroup.setAdapter(adapter);
adapter.setOnItemClickListener((adapter1, view, position) -> viewModel.policeEmergencyDetail(policeList.get(position).getJcjbh()));
}
/**
* tab按钮点击切换
*
* @param i
*/
private void tabOnClick(int i) {
//如果点击tab与当前的一致当前点击事件无效.
if (currentTab == i) return;
currentTab = i;
//清空搜索框内容
binding.etInput.setText("");
//切换效果设置
binding.tvAreaKeyPerson.setTextColor(getResources().getColor(i != 1 ? R.color.selected_color : R.color.color_666));
binding.selectAreaKeyPerson.setBackgroundColor(getResources().getColor(i != 1 ? R.color.selected_color : R.color.transparent_color));
binding.tvMyKeyPerson.setTextColor(getResources().getColor(i == 1 ? R.color.selected_color : R.color.color_666));
binding.selectMyKeyPerson.setBackgroundColor(getResources().getColor(i == 1 ? R.color.selected_color : R.color.transparent_color));
if (currentTabBar == 1) {
if (currentTab == 1) {
//加载我的重点人
viewModel.keyPersonInit();
} else {
viewModel.orgKeyPersonInit();
}
}
}
/**
* 顶部tabBar切换
*
* @param i
*/
private void tabBarOnClick(int i) {
if (currentTabBar == i) return;
currentTabBar = i;
binding.etInput.setText("");
binding.iconKeyPerson.setBackgroundResource(i == 1 ? R.mipmap.key_person_icon_selected : R.mipmap.key_person_icon_normal);
binding.tvKeyPerson.setTextColor(getResources().getColor(i == 1 ? R.color.selected_color : R.color.black));
binding.selectKeyPerson.setBackgroundColor(getResources().getColor(i == 1 ? R.color.selected_color : R.color.white));
binding.iconPoliceEmergency.setBackgroundResource(i == 2 ? R.mipmap.icon_jq_selected : R.mipmap.icon_jq_normal);
binding.tvPoliceEmergency.setTextColor(getResources().getColor(i == 2 ? R.color.selected_color : R.color.black));
binding.selectPoliceEmergency.setBackgroundColor(getResources().getColor(i == 2 ? R.color.selected_color : R.color.white));
binding.iconCaseDetails.setBackgroundResource(i == 3 ? R.mipmap.wenjianjia : R.mipmap.wenjianjia_icon);
binding.tvCaseDetails.setTextColor(getResources().getColor(i == 3 ? R.color.selected_color : R.color.black));
binding.selectCaseDetails.setBackgroundColor(getResources().getColor(i == 3 ? R.color.selected_color : R.color.white));
filterType = 0;
switch (i) {
case 1:
binding.tvSearchTitle.setText("姓名");
keyPersonInitAdapter();
if (currentTab == 1) {
viewModel.keyPersonInit();
} else {
viewModel.orgKeyPersonInit();
}
binding.tvMyKeyPerson.setText("我的重点人");
binding.tvAreaKeyPerson.setText("辖区(警种)重点人");
binding.tabGroup.setVisibility(View.VISIBLE);
break;
case 2:
binding.tvSearchTitle.setText("警情编号");
policeEmergencyInitAdapter();
viewModel.policeEmergencyInit();
binding.tabGroup.setVisibility(View.GONE);
break;
default:
binding.tvSearchTitle.setText("案件编号");
binding.tvMyKeyPerson.setText("在办案件");
binding.tvAreaKeyPerson.setText("历史案件");
binding.tabGroup.setVisibility(View.GONE);
loadCase(new ArrayList<>());
}
}
/**
* 加载案情布局
*/
public void loadCase(List<KeyPerson> data) {
KeyPersonAdapter adapter = new KeyPersonAdapter();
adapter.setNewInstance(data);
binding.rvGroup.setLayoutManager(new LinearLayoutManager(this));
binding.rvGroup.setAdapter(adapter);
adapter.setOnItemClickListener((adapter1, view, position) -> viewModel.keyPersonDetail(data.get(position).getSfzh()));
}
public void loadingShow() {
App.getHandler().post(() -> binding.rlLoading.setVisibility(View.VISIBLE));
}
public void loadingNone() {
App.getHandler().post(() -> binding.rlLoading.setVisibility(View.GONE));
}
private void setPopupWindow() {
// 初始化 PopupWindow
popupWindow = new PopupWindow(this);
// 加载自定义布局
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView = inflater.inflate(R.layout.dropdown_layout, null);
// 设置 PopupWindow 的宽高
popupWindow.setWidth(LinearLayout.LayoutParams.WRAP_CONTENT);
popupWindow.setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
// 设置 PopupWindow 的背景
popupWindow.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
// 设置 PopupWindow 显示的位置相对于按钮
popupWindow.showAtLocation(binding.typeGroup, Gravity.NO_GRAVITY, 0, 0);
// 为每个菜单项设置点击事件
TextView textView1 = contentView.findViewById(R.id.textView1); // 假设这是菜单项1的ID
TextView textView2 = contentView.findViewById(R.id.textView2); // 假设这是菜单项2的ID
textView1.setOnClickListener(v -> {
// 处理菜单项 1 的点击事件
binding.tvSearchTitle.setText("姓名");
filterType = 0;
popupWindow.dismiss(); // 关闭 PopupWindow
});
textView2.setOnClickListener(v -> {
// 处理菜单项 2 的点击事件
binding.tvSearchTitle.setText("身份证号");
filterType = 1;
popupWindow.dismiss(); // 关闭 PopupWindow
});
// 将自定义布局设置为 PopupWindow 的内容视图
popupWindow.setContentView(contentView);
// 设置 PopupWindow 的焦点
popupWindow.setFocusable(true);
popupWindow.setOutsideTouchable(true); // 设置点击 PopupWindow 外部区域使其消失
}
private void setPopupWindow2() {
// 初始化 PopupWindow
popupWindow2 = new PopupWindow(this);
// 加载自定义布局
LayoutInflater inflater2 = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView2 = inflater2.inflate(R.layout.dropdown_layout2, null);
// 设置 PopupWindow 的宽高
popupWindow2.setWidth(LinearLayout.LayoutParams.WRAP_CONTENT);
popupWindow2.setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
// 设置 PopupWindow 的背景
popupWindow2.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
// 设置 PopupWindow 显示的位置相对于按钮
popupWindow2.showAtLocation(binding.typeGroup, Gravity.NO_GRAVITY, 0, 0);
// 为每个菜单项设置点击事件
TextView textView3 = contentView2.findViewById(R.id.textView3); // 假设这是菜单项1的ID
TextView textView4 = contentView2.findViewById(R.id.textView4); // 假设这是菜单项2的ID
TextView textView5 = contentView2.findViewById(R.id.textView5); // 假设这是菜单项2的ID
textView3.setOnClickListener(v -> {
// 处理菜单项 1 的点击事件
binding.tvSearchTitle.setText("警情编号");
filterType = 0;
popupWindow2.dismiss(); // 关闭 PopupWindow
});
textView4.setOnClickListener(v -> {
// 处理菜单项 2 的点击事件
binding.tvSearchTitle.setText("报警内容");
filterType = 1;
popupWindow2.dismiss(); // 关闭 PopupWindow
});
textView5.setOnClickListener(v -> {
// 处理菜单项 2 的点击事件
binding.tvSearchTitle.setText("报警电话");
filterType = 2;
popupWindow2.dismiss(); // 关闭 PopupWindow
});
// 将自定义布局设置为 PopupWindow 的内容视图
popupWindow2.setContentView(contentView2);
// 设置 PopupWindow 的焦点
popupWindow2.setFocusable(true);
popupWindow2.setOutsideTouchable(true); // 设置点击 PopupWindow 外部区域使其消失
}
private void setPopupWindow3() {
// 初始化 PopupWindow
popupWindow3 = new PopupWindow(this);
// 加载自定义布局
LayoutInflater inflater2 = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentView2 = inflater2.inflate(R.layout.dropdown_layout3, null);
// 设置 PopupWindow 的宽高
popupWindow3.setWidth(LinearLayout.LayoutParams.WRAP_CONTENT);
popupWindow3.setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
// 设置 PopupWindow 的背景
popupWindow3.setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
// 设置 PopupWindow 显示的位置相对于按钮
popupWindow3.showAtLocation(binding.typeGroup, Gravity.NO_GRAVITY, 0, 0);
// 为每个菜单项设置点击事件
TextView textView6 = contentView2.findViewById(R.id.textView6); // 假设这是菜单项1的ID
TextView textView7 = contentView2.findViewById(R.id.textView7); // 假设这是菜单项2的ID
TextView textView8 = contentView2.findViewById(R.id.textView8); // 假设这是菜单项2的ID
TextView textView9 = contentView2.findViewById(R.id.textView9); // 假设这是菜单项2的ID
textView6.setOnClickListener(v -> {
// 处理菜单项 1 的点击事件
binding.tvSearchTitle.setText("案件编号");
filterType = 0;
popupWindow3.dismiss(); // 关闭 PopupWindow
});
textView7.setOnClickListener(v -> {
// 处理菜单项 2 的点击事件
binding.tvSearchTitle.setText("案件名称");
filterType = 1;
popupWindow3.dismiss(); // 关闭 PopupWindow
});
textView8.setOnClickListener(v -> {
// 处理菜单项 2 的点击事件
binding.tvSearchTitle.setText("嫌疑人姓名");
filterType = 3;
popupWindow3.dismiss(); // 关闭 PopupWindow
});
textView9.setOnClickListener(v -> {
// 处理菜单项 2 的点击事件
binding.tvSearchTitle.setText("受害人姓名");
filterType = 4;
popupWindow3.dismiss(); // 关闭 PopupWindow
});
// 将自定义布局设置为 PopupWindow 的内容视图
popupWindow3.setContentView(contentView2);
// 设置 PopupWindow 的焦点
popupWindow3.setFocusable(true);
popupWindow3.setOutsideTouchable(true); // 设置点击 PopupWindow 外部区域使其消失
}
}

View File

@ -0,0 +1,173 @@
package com.police.union.home.activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.police.base.BaseActivity;
import com.police.network.Constants;
import com.police.union.databinding.ActivityKeyPersonDetailBinding;
import com.police.union.home.model.KeyPersonDetail;
import com.police.utils.UiUtils;
public class KeyPersonDetailActivity extends BaseActivity {
private ActivityKeyPersonDetailBinding binding;
private KeyPersonDetail keyPersonDetail;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityKeyPersonDetailBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
initListener();
String sfzh = getIntent().getStringExtra("sfzh");
keyPersonDetail = new Gson().fromJson(sfzh, KeyPersonDetail.class);
binding.wm.setTextSize(50);
binding.wm.setText(Constants.SFZH);
showData();
}
private void showData() {
/**
* 基本信息数据显示
*/
binding.tvName.setText(keyPersonDetail.getXm());
binding.tvSex.setText(keyPersonDetail.getXb());
if (UiUtils.isNotEmpty(keyPersonDetail.getHypo())) {
binding.tvMarital.setVisibility(View.VISIBLE);
binding.tvMarital.setText("已婚");
}
if (UiUtils.isNotEmpty(keyPersonDetail.getBq())) {
binding.tvBq.setText(keyPersonDetail.getBq());
binding.tvBq.setVisibility(View.VISIBLE);
}
setText(binding.tvNation, keyPersonDetail.getMz());
setText(binding.detailSfzh, keyPersonDetail.getGmsfhm());
if (UiUtils.isNotEmpty(keyPersonDetail.getJzdhhm())) {
String[] split = keyPersonDetail.getJzdhhm().split(",");
binding.detailSjh.setText(split[0]);//手机号
}
setText(binding.detailHj, keyPersonDetail.getJg());
setText(binding.detailGldz, keyPersonDetail.getHjdz());
setText(binding.detailFwcs, keyPersonDetail.getFwcs());
if (UiUtils.isNotEmpty(keyPersonDetail.getDjchphm())) {
binding.detailClxx.setText(keyPersonDetail.getDjchphm());//车辆信息
}
/**
* 位置信息数据显示
*/
if (UiUtils.isNotEmpty(keyPersonDetail.getSjgj())) {
setText(binding.tvBodyLastLocationPhone, sCountSp(keyPersonDetail.getSjgj()));//手机基站位置信息
setText(binding.tvBodyLastLocationPhoneTime, UiUtils.formatTime(keyPersonDetail.getSjgj().split(",")[1]));//手机最后定位时间
}
if (UiUtils.isNotEmpty(keyPersonDetail.getClzhwz())) {
setText(binding.tvBodyLastLocation, sCountSp(keyPersonDetail.getClzhwz()));//车辆最后位置
setText(binding.tvBodyLastTime, UiUtils.formatTime(keyPersonDetail.getClzhwz().split(",")[1]));//车辆最后定位时间
}
if (UiUtils.isNotEmpty(keyPersonDetail.getHcdp())) {
setText(binding.tvBodyTrainInfo, keyPersonDetail.getHcdp().split(",")[3] + "" + keyPersonDetail.getHcdp().split(",")[4] + " - " + keyPersonDetail.getHcdp().split(",")[5]);//火车订票
setText(binding.tvBodyTrainTime, UiUtils.formatTime(keyPersonDetail.getHcdp().split(",")[2]));//火车发车时间
}
if (UiUtils.isNotEmpty(keyPersonDetail.getKcdp())) {
setText(binding.tvBodyBusInfo, keyPersonDetail.getKcdp().split(",")[7] + "" + keyPersonDetail.getKcdp().split(",")[2] + " - " + keyPersonDetail.getKcdp().split(",")[6]);//客车订票 tCount(keyPersonDetail.getKcdp())
setText(binding.tvBodyBusTime, UiUtils.formatTime(keyPersonDetail.getKcdp().split(",")[4]));//客车发车时间
}
if (UiUtils.isNotEmpty(keyPersonDetail.getFjdp())) {
setText(binding.tvBodyFlyInfo, keyPersonDetail.getFjdp().split(",")[4] + "" + keyPersonDetail.getFjdp().split(",")[6] + " - " + keyPersonDetail.getFjdp().split(",")[9]);//飞机订票
setText(binding.tvBodyFlyTime, UiUtils.formatTime(keyPersonDetail.getFjdp().split(",")[7]));//飞机起飞时间
}
if (UiUtils.isNotEmpty(keyPersonDetail.getZjzs())) {
setText(binding.tvBodyRestInfo, tCount(keyPersonDetail.getZjzs()));//最近住宿
}
if (keyPersonDetail.getZp() != null) {
loadBase64Image(binding.ivPhoto, keyPersonDetail.getZp());
}
/**
* 列控数据信息显示
*/
if (keyPersonDetail.getLsajcs() > 0) {
setText(binding.tvBodyCtrlLevel, keyPersonDetail.getZdryLkxxList().get(0).getGklb());//管理级别
setText(binding.tvBodyCtrlType, keyPersonDetail.getZdryLkxxList().get(0).getQtlb());//列管级别
setText(binding.tvBodyCtrlTag, keyPersonDetail.getZdryLkxxList().get(0).getLkjz());//列控警种
setText(binding.tvBodyCtrlTime, UiUtils.formatTime(keyPersonDetail.getZdryLkxxList().get(0).getLksj()));//列控时间
setText(binding.tvBodyCtrlCause, keyPersonDetail.getZdryLkxxList().get(0).getLkyy());//列控原因
setText(binding.tvBodyCtrlPerson, keyPersonDetail.getZdryLkxxList().get(0).getZrdw());//责任单位
setText(binding.tvBodyCtrlPolice, keyPersonDetail.getZdryLkxxList().get(0).getZrmj());//责任民警
}
}
public void loadBase64Image(ImageView imageView, String base64Str) {
Glide.with(imageView.getContext())
.asBitmap()
.load(base64Str)
.into(imageView);
}
/**
* 第3次索引
*
* @param str
* @return
*/
private String tCount(String str) {
String c = ",";
int firstIndex = str.indexOf(c);
int secondIndex = str.indexOf(c, firstIndex + 1);
int thirdIndex = str.indexOf(c, secondIndex + 1);
return str.substring(thirdIndex + 1, str.length());
}
/**
* 第2个索引
*
* @param str
* @return
*/
private String sCount(String str) {
String c = ",";
int firstIndex = str.indexOf(c);
int secondIndex = str.indexOf(c, firstIndex + 1);
return str.substring(secondIndex + 1, str.length());
}
/**
* 第2个索引
*
* @param str
* @return
*/
private String sCountSp(String str) {
try {
return str.split(",")[3];
} catch (Exception e) {
return "";
}
}
private void initListener() {
binding.ivBack.setOnClickListener(view -> finish());
}
public static void startAction(Context context, String num) {
Intent intent = new Intent(context, KeyPersonDetailActivity.class);
intent.putExtra("sfzh", num);
context.startActivity(intent);
}
private void setText(TextView view, String str) {
if (UiUtils.isNotEmpty(str)) {
view.setText(str);
} else {
view.setText("");
}
}
}

View File

@ -0,0 +1,217 @@
package com.police.union.home.activity;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.police.base.App;
import com.police.network.Constants;
import com.police.network.CustomCallBack;
import com.police.union.R;
import com.police.union.RequestClient;
import com.police.union.databinding.ActivityPoliceEmergencyDetailBinding;
import com.police.union.home.model.ApplyType;
import com.police.union.home.model.DetailQueryResult;
import com.police.union.home.model.PoliceEmergencyDetail;
import com.police.utils.UiUtils;
import java.util.List;
import okhttp3.Call;
/**
* 警情详情页面
*/
public class PoliceEmergencyDetailActivity extends Activity {
private ActivityPoliceEmergencyDetailBinding binding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityPoliceEmergencyDetailBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
binding.wm.setTextSize(50);
binding.wm.setText(Constants.SFZH);
binding.ivBack.setOnClickListener(view -> finish());
PoliceEmergencyDetail detail = new Gson().fromJson(getIntent().getStringExtra("param"), PoliceEmergencyDetail.class);
if (UiUtils.isNotEmpty(detail.getZp())) {
Glide.with(App.getApp()).asBitmap().load(detail.getZp()).into(binding.includePersonInfo.ivZp);
}
setText(binding.includeBaseInfo.tvJcjbh, detail.getJcjbh());//报警编号
setText(binding.includeBaseInfo.tvBjjyqk, detail.getBjjyqk());//报警内容
setText(binding.includeBaseInfo.tvBjrlxdh, detail.getBjrlxdh());//报警电话
setText(binding.includeBaseInfo.tvJjsj, UiUtils.formatTime(detail.getJjsj()));//报警时间
setText(binding.includeBaseInfo.tvAsjfsdddzmc, detail.getAsjfsdddzmc());//报警位置
setText(binding.includeBaseInfo.tvCjdwgajgjgdm, detail.getCjdwgajgjgdm());//出警单位
setText(binding.includeBaseInfo.tvCjrxm, detail.getCjrxm());//出警民警
setText(binding.includeBaseInfo.tvJqlb, detail.getJqlb());//警情类别
setText(binding.includeBaseInfo.tvCllb, detail.getCllx());//处理类型
setText(binding.includeBaseInfo.tvCljg, detail.getCljg());//处理结果
setText(binding.includePersonInfo.tvBq, detail.getBq());//标签
setText(binding.includePersonInfo.tvJg, detail.getJg());//籍贯
setText(binding.includePersonInfo.tvXm, detail.getXm());//姓名
setText(binding.includePersonInfo.tvXb, detail.getXb());//性别
setText(binding.includePersonInfo.tvMz, detail.getMz());//民族
setText(binding.includePersonInfo.tvHyzk, detail.getHyzk());//婚姻状况
setText(binding.includePersonInfo.tvSfzh, detail.getBjrzjhm());//身份证号
setText(binding.includePersonInfo.tvNl, detail.getNl());//年龄
setText(binding.includePersonInfo.tvFwcs, detail.getFwcs());//服务场所
setText(binding.includePersonInfo.tvLsbjcs, detail.getLsbjcs());//历史报警次数
setText(binding.includeCjyaInfo.tvContent, detail.getLsbjcs());//todo 处警预案
binding.includeQueryInfo.tvQueryType1.setOnClickListener(view -> {
queryType = 1;
changeView();
});
binding.includeQueryInfo.tvQueryType2.setOnClickListener(view -> {
queryType = 2;
changeView();
});
binding.includeQueryInfo.tvQueryType3.setOnClickListener(view -> {
queryType = 3;
changeView();
});
binding.includeQueryInfo.tvQueryBtn.setOnClickListener(view -> {
sendQuery();
});
binding.includeApplyInfo.tvQueryResult.setOnClickListener(view -> {
//跳转到赋能详情
jumpApplyDetail(detail.getJcjbh());
});
binding.includeApplyInfo.tvGoApply.setOnClickListener(view -> {
jumpApplyFragment(detail.getJcjbh());
});
binding.includeApplyInfo.tvMakeCall.setOnClickListener(view -> {
//拨打电话660110
makeCall();
});
}
private void jumpApplyFragment(String jqbh) {
RequestClient.instance().getApplyType(new CustomCallBack<List<ApplyType>>() {
@Override
public void onError(Call call, @NonNull Exception e) {
}
@Override
public void onSuccess(List<ApplyType> value) {
if (value.isEmpty()) {
Toast.makeText(PoliceEmergencyDetailActivity.this, "用户未在大数据实战赋能系统登记,无法填写工单", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(PoliceEmergencyDetailActivity.this, ApplyActivity.class);
intent.putExtra("jqbh", jqbh);
startActivity(intent);
}
}
});
}
private void jumpApplyDetail(String jqbh) {
RequestClient.instance().getApplyType(new CustomCallBack<List<ApplyType>>() {
@Override
public void onError(Call call, @NonNull Exception e) {
}
@Override
public void onSuccess(List<ApplyType> value) {
if (value.isEmpty()) {
Toast.makeText(PoliceEmergencyDetailActivity.this, "用户未在大数据实战赋能系统登记,无法查看结果", Toast.LENGTH_SHORT).show();
} else {
Intent intent = new Intent(PoliceEmergencyDetailActivity.this, QueryApplyResultActivity.class);
intent.putExtra("jqbh", jqbh);
startActivity(intent);
}
}
});
}
private void makeCall() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE)
!= PackageManager.PERMISSION_GRANTED) {
// 权限尚未被授予
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CALL_PHONE},
500);
UiUtils.toast("电话权限未被授予,请打开电话权限");
} else {
// 权限已经被授予可以拨打电话
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:660110"));
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
if (requestCode == 500) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 权限被授予可以拨打电话
makeCall();
}
}
}
private void sendQuery() {
String str = binding.includeQueryInfo.etInput.getText().toString();
if (str.isEmpty()) {
Toast.makeText(this, "请输入查询内容", Toast.LENGTH_SHORT).show();
return;
}
RequestClient.instance().policeEmergencyDetailQuery(queryType, str, new CustomCallBack<DetailQueryResult>() {
@Override
public void onError(Call call, @NonNull Exception e) {
Toast.makeText(PoliceEmergencyDetailActivity.this, "查询失败", Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess(DetailQueryResult value) {
binding.includeQueryInfo.tvQueryResult.setText(value.getGOBACK());
}
});
}
private int queryType = 1;
private void changeView() {
binding.includeQueryInfo.tvQueryType1.setTextColor(queryType == 1 ? getColor(R.color.white) : getColor(R.color.color_999));
binding.includeQueryInfo.tvQueryType2.setTextColor(queryType == 2 ? getColor(R.color.white) : getColor(R.color.color_999));
binding.includeQueryInfo.tvQueryType3.setTextColor(queryType == 3 ? getColor(R.color.white) : getColor(R.color.color_999));
binding.includeQueryInfo.tvQueryType1.setBackgroundResource(queryType == 1 ? R.drawable.all_7_main_bg : R.drawable.all_7_999_border_bg);
binding.includeQueryInfo.tvQueryType2.setBackgroundResource(queryType == 2 ? R.drawable.all_7_main_bg : R.drawable.all_7_999_border_bg);
binding.includeQueryInfo.tvQueryType3.setBackgroundResource(queryType == 3 ? R.drawable.all_7_main_bg : R.drawable.all_7_999_border_bg);
}
public static void startAction(Context context, String num) {
Intent intent = new Intent(context, PoliceEmergencyDetailActivity.class);
intent.putExtra("param", num);
context.startActivity(intent);
}
private void setText(TextView view, String str) {
if (UiUtils.isNotEmpty(str)) {
view.setText(str);
} else {
view.setText("");
}
}
}

View File

@ -0,0 +1,58 @@
package com.police.union.home.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import com.police.union.databinding.ActivityQueryApplyResultBinding;
import com.police.union.home.adapter.MineApplyListAdapter;
import com.police.union.home.model.Apply;
import com.police.union.home.viewmodel.ApplyResultViewModel;
import java.util.List;
public class QueryApplyResultActivity extends AppCompatActivity {
private ActivityQueryApplyResultBinding binding;
private MineApplyListAdapter adapter;
private List<Apply> applyList;
private ApplyResultViewModel viewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
binding = ActivityQueryApplyResultBinding.inflate(getLayoutInflater());
setContentView(binding.getRoot());
viewModel = new ApplyResultViewModel(this);
binding.ivBack.setOnClickListener(view -> finish());
binding.mineRvGroup.setLayoutManager(new LinearLayoutManager(this));
adapter = new MineApplyListAdapter();
binding.mineRvGroup.setAdapter(adapter);
adapter.setOnItemClickListener((adapter1, view, position) -> applyDetail(applyList.get(position).getBh()));
viewModel.getApplyList(getIntent().getStringExtra("jqbh"));
// viewModel.getApplyList("22010020240411234457000018");
}
public void applyList(List<Apply> list) {
applyList = list;
adapter.setList(list);
}
public void applyDetail(String applyDetail) {
Intent intent = new Intent(this, ApplyDetailActivity.class);
intent.putExtra("applyDetail", applyDetail);
startActivity(intent);
}
public void loadingShow() {
binding.rlLoading.setVisibility(View.VISIBLE);
}
public void loadingNone() {
binding.rlLoading.setVisibility(View.GONE);
}
}

View File

@ -0,0 +1,35 @@
package com.police.union.home.adapter;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.police.base.App;
import com.police.union.R;
import com.police.union.home.model.KeyPerson;
import com.police.utils.UiUtils;
public class KeyPersonAdapter extends BaseQuickAdapter<KeyPerson, BaseViewHolder> {
public KeyPersonAdapter() {
super(R.layout.item_key_person); // 指定列表项的布局
}
@Override
protected void convert(BaseViewHolder helper, KeyPerson item) {
helper.setText(R.id.item_name, item.getXm());
helper.setText(R.id.item_sfzh, item.getSfzh());
helper.setText(R.id.item_gklb, item.getGklb());
helper.setText(R.id.item_qtlb, item.getQtlb());
helper.setText(R.id.item_zrmj, item.getZrmj());
if (UiUtils.isNotEmpty(item.getZp())) {
Glide.with(App.getApp())
.asBitmap()
.load(item.getZp())
.into((ImageView) helper.getView(R.id.iv_photo));
} else {
helper.setImageResource(R.id.iv_photo, R.mipmap.photo);
}
}
}

View File

@ -0,0 +1,22 @@
package com.police.union.home.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.police.union.R;
import com.police.union.home.model.Apply;
public class MineApplyListAdapter extends BaseQuickAdapter<Apply, BaseViewHolder> {
public MineApplyListAdapter() {
super(R.layout.item_mine_apply); // 指定列表项的布局
}
@Override
protected void convert(BaseViewHolder helper, Apply item) {
helper.setText(R.id.tv_fnbh, item.getBh());
helper.setText(R.id.tv_sqsy, item.getSy());
helper.setText(R.id.tv_sqsj, item.getCreateTimeStr());
helper.setText(R.id.tv_xxly, item.getLy());
helper.setText(R.id.tv_blzt, item.getSpzt());
}
}

View File

@ -0,0 +1,23 @@
package com.police.union.home.adapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.viewholder.BaseViewHolder;
import com.police.union.R;
import com.police.union.home.model.PoliceEmergency;
import com.police.utils.UiUtils;
public class PoliceEmergencyAdapter extends BaseQuickAdapter<PoliceEmergency, BaseViewHolder> {
public PoliceEmergencyAdapter() {
super(R.layout.item_police_emergency); // 指定列表项的布局
}
@Override
protected void convert(BaseViewHolder helper, PoliceEmergency item) {
helper.setText(R.id.tv_police_num_title, "警情编号:"+item.getJcjbh());//警情编号
helper.setText(R.id.item_content, item.getBjjyqk());//报警内容
helper.setText(R.id.tv_police_tel, item.getBjrlxdh());//报警电话
helper.setText(R.id.tv_police_time, UiUtils.formatTime(item.getJjsj()));//报警时间
helper.setText(R.id.tv_police_loc, item.getAsjfsdddzmc());//报警地址
}
}

View File

@ -0,0 +1,31 @@
package com.police.union.home.fragment;
import android.content.Intent;
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.police.base.BaseFragment;
import com.police.union.databinding.FragmentHomeBinding;
import com.police.union.home.activity.DataActivity;
public class HomeFragment extends BaseFragment {
private FragmentHomeBinding binding;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = FragmentHomeBinding.inflate(inflater);
initView();
return binding.getRoot();
}
private void initView() {
binding.llData.setOnClickListener(view -> startActivity(new Intent(getActivity(), DataActivity.class)));
}
}

View File

@ -0,0 +1,61 @@
package com.police.union.home.model;
import java.io.Serializable;
/**
* {
* "bh": "JL0100002016",
* "createTimeStr": "2024-03-13 09:05:39.0",
* "ly": "PC",
* "params": {},
* "spzt": "审批驳回",
* "sy": "处置警情"
* }
*/
public class Apply implements Serializable {
private String bh;//赋能编号
private String sy;//申请事由
private String createTimeStr;//申请时间
private String ly;//信息来源
private String spzt;//办理状态
public String getBh() {
return bh;
}
public void setBh(String bh) {
this.bh = bh;
}
public String getSy() {
return sy;
}
public void setSy(String sy) {
this.sy = sy;
}
public String getCreateTimeStr() {
return createTimeStr;
}
public void setCreateTimeStr(String createTimeStr) {
this.createTimeStr = createTimeStr;
}
public String getLy() {
return ly;
}
public void setLy(String ly) {
this.ly = ly;
}
public String getSpzt() {
return spzt;
}
public void setSpzt(String spzt) {
this.spzt = spzt;
}
}

View File

@ -0,0 +1,81 @@
package com.police.union.home.model;
import java.io.Serializable;
/**
* {\"checked\":false,\"id\":\"220000000000\",\"name\":\"吉林省公安厅\",\"nocheck\":false,\"open\":false,\"pId\":\"0\",\"title\":\"吉林省公安厅\"}
*/
public class ApplyDept implements Serializable {
private boolean checked;
private String id;
private String name;
private String pId;
private String title;
private int level = 0;
private boolean open;
private boolean nocheck;
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public void setName(String name) {
this.name = name;
}
public String getpId() {
return pId;
}
public void setpId(String pId) {
this.pId = pId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public boolean isOpen() {
return open;
}
public void setOpen(boolean open) {
this.open = open;
}
public boolean isNocheck() {
return nocheck;
}
public void setNocheck(boolean nocheck) {
this.nocheck = nocheck;
}
}

View File

@ -0,0 +1,71 @@
package com.police.union.home.model;
import java.io.Serializable;
import java.util.List;
/**
* {
* "bh": "JL0100002016",
* "createTimeStr": "2024-03-13 09:05:39.0",
* "ly": "PC",
* "params": {},
* "spzt": "审批驳回",
* "sy": "处置警情"
* }
*/
public class ApplyDetail implements Serializable {
private String bh;//赋能编号
private String sy;//申请事由
private String createTimeStr;//申请时间
private String ly;//信息来源
private String spzt;//办理状态
private List<String> fj;//附件
public List<String> getFj() {
return fj;
}
public void setFj(List<String> fj) {
this.fj = fj;
}
public String getBh() {
return bh;
}
public void setBh(String bh) {
this.bh = bh;
}
public String getSy() {
return sy;
}
public void setSy(String sy) {
this.sy = sy;
}
public String getCreateTimeStr() {
return createTimeStr;
}
public void setCreateTimeStr(String createTimeStr) {
this.createTimeStr = createTimeStr;
}
public String getLy() {
return ly;
}
public void setLy(String ly) {
this.ly = ly;
}
public String getSpzt() {
return spzt;
}
public void setSpzt(String spzt) {
this.spzt = spzt;
}
}

View File

@ -0,0 +1,24 @@
package com.police.union.home.model;
import java.io.Serializable;
public class ApplyPerson implements Serializable {
private String loginName;
private String userName;
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
}

View File

@ -0,0 +1,33 @@
package com.police.union.home.model;
import java.io.Serializable;
public class ApplyType implements Serializable {
private String dictLabel;
private String dictSort;
private String dictValue;
public String getDictLabel() {
return dictLabel;
}
public void setDictLabel(String dictLabel) {
this.dictLabel = dictLabel;
}
public String getDictSort() {
return dictSort;
}
public void setDictSort(String dictSort) {
this.dictSort = dictSort;
}
public String getDictValue() {
return dictValue;
}
public void setDictValue(String dictValue) {
this.dictValue = dictValue;
}
}

View File

@ -0,0 +1,49 @@
package com.police.union.home.model;
import java.io.Serializable;
/**
*
*/
public class DataCount implements Serializable {
//重点人
private String zdryCount = "0";
//警情
private String jqCount = "0";
//案情
private String aqCount = "0";
//辖区
private String zdryDeptCount = "0";
public String getZdryCount() {
return zdryCount;
}
public void setZdryCount(String zdryCount) {
this.zdryCount = zdryCount;
}
public String getJqCount() {
return jqCount;
}
public void setJqCount(String jqCount) {
this.jqCount = jqCount;
}
public String getAqCount() {
return aqCount;
}
public void setAqCount(String aqCount) {
this.aqCount = aqCount;
}
public String getZdryDeptCount() {
return zdryDeptCount;
}
public void setZdryDeptCount(String zdryDeptCount) {
this.zdryDeptCount = zdryDeptCount;
}
}

View File

@ -0,0 +1,15 @@
package com.police.union.home.model;
import java.io.Serializable;
public class DetailQueryResult implements Serializable {
private String GOBACK;
public String getGOBACK() {
return GOBACK;
}
public void setGOBACK(String GOBACK) {
this.GOBACK = GOBACK;
}
}

View File

@ -0,0 +1,86 @@
package com.police.union.home.model;
import java.io.Serializable;
public class KeyPerson implements Serializable {
//姓名
private String xm;
//管控类别
private String gklb;
//群体列表
private String qtlb;
//责任民警姓名
private String zrmj;
//身份证号码
private String sfzh;
//照片base64
private String zp;
//有效期
private String yxq;
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public String getGklb() {
return gklb;
}
public void setGklb(String gklb) {
this.gklb = gklb;
}
public String getQtlb() {
return qtlb;
}
public void setQtlb(String qtlb) {
this.qtlb = qtlb;
}
public String getZrmj() {
return zrmj;
}
public void setZrmj(String zrmj) {
this.zrmj = zrmj;
}
public String getSfzh() {
return sfzh;
}
public void setSfzh(String sfzh) {
this.sfzh = sfzh;
}
public String getZp() {
return zp;
}
public void setZp(String zp) {
this.zp = zp;
}
public String getYxq() {
return yxq;
}
public void setYxq(String yxq) {
this.yxq = yxq;
}
@Override
public String toString() {
return "KeyPerson{" +
"xm='" + xm + '\'' +
", gklb='" + gklb + '\'' +
", qtlb='" + qtlb + '\'' +
", zrmj='" + zrmj + '\'' +
", sfzh='" + sfzh + '\'' +
'}';
}
}

View File

@ -0,0 +1,289 @@
package com.police.union.home.model;
import java.io.Serializable;
import java.util.List;
/**
* 重点人详情
*/
public class KeyPersonDetail implements Serializable {
private String fwcs;//服务场所
private String gmsfhm;//身份证号码
private String hcdp;//火车订票信息
private String hjdz;//户籍地址
private String jg;//籍贯
private String kcdp;//客车订票信息
private String fjdp;//飞机订票信息
private String mz;//民族
private String xb;//性别
private String xm;//姓名
private String zjzs;//最近住宿
private String zp;//照片
private String djchphm;//机动车牌号
private String jzdhhm;//手机号
private String hypo;//婚姻
private String sjgj;//手机轨迹
private String clzhwz;//车辆最后位置
private String bq;//标签
public String getBq() {
return bq;
}
public void setBq(String bq) {
this.bq = bq;
}
public String getClzhwz() {
return clzhwz;
}
public void setClzhwz(String clzhwz) {
this.clzhwz = clzhwz;
}
public String getSjgj() {
return sjgj;
}
public String getFjdp() {
return fjdp;
}
public void setFjdp(String fjdp) {
this.fjdp = fjdp;
}
public void setSjgj(String sjgj) {
this.sjgj = sjgj;
}
public String getHypo() {
return hypo;
}
public void setHypo(String hypo) {
this.hypo = hypo;
}
public String getJzdhhm() {
return jzdhhm;
}
public void setJzdhhm(String jzdhhm) {
this.jzdhhm = jzdhhm;
}
public String getDjchphm() {
return djchphm;
}
public void setDjchphm(String djchphm) {
this.djchphm = djchphm;
}
public String getZp() {
return zp;
}
public void setZp(String zp) {
this.zp = zp;
}
private List<Lkxx> zdryLkxxList;//姓名
public String getFwcs() {
return fwcs;
}
public void setFwcs(String fwcs) {
this.fwcs = fwcs;
}
public String getGmsfhm() {
return gmsfhm;
}
public void setGmsfhm(String gmsfhm) {
this.gmsfhm = gmsfhm;
}
public String getHcdp() {
return hcdp;
}
public void setHcdp(String hcdp) {
this.hcdp = hcdp;
}
public String getHjdz() {
return hjdz;
}
public void setHjdz(String hjdz) {
this.hjdz = hjdz;
}
public String getJg() {
return jg;
}
public void setJg(String jg) {
this.jg = jg;
}
public String getKcdp() {
return kcdp;
}
public void setKcdp(String kcdp) {
this.kcdp = kcdp;
}
public String getMz() {
return mz;
}
public void setMz(String mz) {
this.mz = mz;
}
public String getXb() {
return xb;
}
public void setXb(String xb) {
this.xb = xb;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public String getZjzs() {
return zjzs;
}
public void setZjzs(String zjzs) {
this.zjzs = zjzs;
}
public List<Lkxx> getZdryLkxxList() {
return zdryLkxxList;
}
public void setZdryLkxxList(List<Lkxx> zdryLkxxList) {
this.zdryLkxxList = zdryLkxxList;
}
/**
* 历史案件次数
*
* @return
*/
public int getLsajcs() {
if (zdryLkxxList!=null){
return zdryLkxxList.size();
}else{
return 0;
}
}
public static class Lkxx implements Serializable {
private String gklb;//管控类别
private String qtlb;//列管级别
private String lkjz;//列控警种
private String lksj;//列控时间
private String lkyy;//列控原因
private String zrdw;//责任单位
private String zrmj;//责任民警
private String yxq;//有效期
private String gkjb;//管控级别
private String zp;//照片
public String getQtlb() {
return qtlb;
}
public void setQtlb(String qtlb) {
this.qtlb = qtlb;
}
public String getZp() {
return zp;
}
public void setZp(String zp) {
this.zp = zp;
}
public String getGklb() {
return gklb;
}
public void setGklb(String gklb) {
this.gklb = gklb;
}
public String getLkjz() {
return lkjz;
}
public void setLkjz(String lkjz) {
this.lkjz = lkjz;
}
public String getLksj() {
return lksj;
}
public void setLksj(String lksj) {
this.lksj = lksj;
}
public String getLkyy() {
return lkyy;
}
public void setLkyy(String lkyy) {
this.lkyy = lkyy;
}
public String getZrdw() {
return zrdw;
}
public void setZrdw(String zrdw) {
this.zrdw = zrdw;
}
public String getZrmj() {
return zrmj;
}
public void setZrmj(String zrmj) {
this.zrmj = zrmj;
}
public String getYxq() {
return yxq;
}
public void setYxq(String yxq) {
this.yxq = yxq;
}
public String getGkjb() {
return gkjb;
}
public void setGkjb(String gkjb) {
this.gkjb = gkjb;
}
}
}

View File

@ -0,0 +1,56 @@
package com.police.union.home.model;
import java.io.Serializable;
public class PoliceEmergency implements Serializable {
//警情编号
private String jcjbh;
//报警内容
private String bjjyqk;
//报警电话
private String bjrlxdh;
//报警时间
private String jjsj;
//报警地址
private String asjfsdddzmc;
public String getJcjbh() {
return jcjbh;
}
public void setJcjbh(String jcjbh) {
this.jcjbh = jcjbh;
}
public String getBjjyqk() {
return bjjyqk;
}
public void setBjjyqk(String bjjyqk) {
this.bjjyqk = bjjyqk;
}
public String getBjrlxdh() {
return bjrlxdh;
}
public void setBjrlxdh(String bjrlxdh) {
this.bjrlxdh = bjrlxdh;
}
public String getJjsj() {
return jjsj;
}
public void setJjsj(String jjsj) {
this.jjsj = jjsj;
}
public String getAsjfsdddzmc() {
return asjfsdddzmc;
}
public void setAsjfsdddzmc(String asjfsdddzmc) {
this.asjfsdddzmc = asjfsdddzmc;
}
}

View File

@ -0,0 +1,267 @@
package com.police.union.home.model;
import java.io.Serializable;
/**
* 警情详情
* "asjfsdddzmc":"绿地中央公馆c6-204",
* "bjjyqk":"报警称有人冒充民航工作人员骗取其10000元",
* "bjrlxdh":"13944800721",
* "bjrzjhm":"220104199807011310",
* "cjrxm":"肖映辉,张方贵",
* "jcjbh":"ST220120240200000046174",
* "jjsj":"20240223165000",
* "lsbjcs":"3",
* "mz":"汉族",
* "xb":"",
* "xm":"徐瑞",
* "zp":""
*/
public class PoliceEmergencyDetail implements Serializable {
//警情编号
private String jcjbh;
//报警内容
private String bjjyqk;
/*报警时间*/
private String jjsj;
/*报警电话*/
private String bjrlxdh;
/*报警位置*/
private String asjfsdddzmc;
/*出境单位*/
private String cjdwgajgjgdm;
/*出警民警*/
private String cjrxm;
/*报警人身份证号*/
private String bjrzjhm;
/*照片*/
private String zp;
/*姓名*/
private String xm;
/*性别*/
private String xb;
/*民族*/
private String mz;
/*年龄*/
private String nl;
private String jg;
/*标签*/
private String bq;
/*刑事案件前科*/
private String xsajqk;
/*治安(行政)案件前科*/
private String zaajqk;
/*精神病人*/
private String jsbr;
/*残疾人*/
private String cjr;
/*服务场所*/
private String fwcs;
/*婚姻状况*/
private String hyzk;
/*历史报警次数*/
private String lsbjcs;
private String jqlb;//警情类别
private String cllx;//处理类型
private String cljg;//处理结果
public String getJqlb() {
return jqlb;
}
public void setJqlb(String jqlb) {
this.jqlb = jqlb;
}
public String getCllx() {
return cllx;
}
public void setCllx(String cllx) {
this.cllx = cllx;
}
public String getCljg() {
return cljg;
}
public void setCljg(String cljg) {
this.cljg = cljg;
}
public String getJcjbh() {
return jcjbh;
}
public String getJg() {
return jg;
}
public void setJg(String jg) {
this.jg = jg;
}
public void setJcjbh(String jcjbh) {
this.jcjbh = jcjbh;
}
public String getBjjyqk() {
return bjjyqk;
}
public void setBjjyqk(String bjjyqk) {
this.bjjyqk = bjjyqk;
}
public String getJjsj() {
return jjsj;
}
public void setJjsj(String jjsj) {
this.jjsj = jjsj;
}
public String getBjrlxdh() {
return bjrlxdh;
}
public void setBjrlxdh(String bjrlxdh) {
this.bjrlxdh = bjrlxdh;
}
public String getAsjfsdddzmc() {
return asjfsdddzmc;
}
public void setAsjfsdddzmc(String asjfsdddzmc) {
this.asjfsdddzmc = asjfsdddzmc;
}
public String getCjdwgajgjgdm() {
return cjdwgajgjgdm;
}
public void setCjdwgajgjgdm(String cjdwgajgjgdm) {
this.cjdwgajgjgdm = cjdwgajgjgdm;
}
public String getCjrxm() {
return cjrxm;
}
public void setCjrxm(String cjrxm) {
this.cjrxm = cjrxm;
}
public String getBjrzjhm() {
return bjrzjhm;
}
public void setBjrzjhm(String bjrzjhm) {
this.bjrzjhm = bjrzjhm;
}
public String getZp() {
return zp;
}
public void setZp(String zp) {
this.zp = zp;
}
public String getXm() {
return xm;
}
public void setXm(String xm) {
this.xm = xm;
}
public String getXb() {
return xb;
}
public void setXb(String xb) {
this.xb = xb;
}
public String getMz() {
return mz;
}
public void setMz(String mz) {
this.mz = mz;
}
public String getNl() {
return nl;
}
public void setNl(String nl) {
this.nl = nl;
}
public String getBq() {
return bq;
}
public void setBq(String bq) {
this.bq = bq;
}
public String getXsajqk() {
return xsajqk;
}
public void setXsajqk(String xsajqk) {
this.xsajqk = xsajqk;
}
public String getZaajqk() {
return zaajqk;
}
public void setZaajqk(String zaajqk) {
this.zaajqk = zaajqk;
}
public String getJsbr() {
return jsbr;
}
public void setJsbr(String jsbr) {
this.jsbr = jsbr;
}
public String getCjr() {
return cjr;
}
public void setCjr(String cjr) {
this.cjr = cjr;
}
public String getFwcs() {
return fwcs;
}
public void setFwcs(String fwcs) {
this.fwcs = fwcs;
}
public String getHyzk() {
return hyzk;
}
public void setHyzk(String hyzk) {
this.hyzk = hyzk;
}
public String getLsbjcs() {
return lsbjcs;
}
public void setLsbjcs(String lsbjcs) {
this.lsbjcs = lsbjcs;
}
}

View File

@ -0,0 +1,109 @@
package com.police.union.home.viewmodel;
import androidx.annotation.NonNull;
import com.police.network.CustomCallBack;
import com.police.union.home.activity.ApplyActivity;
import com.police.union.home.model.ApplyDept;
import com.police.union.home.model.ApplyPerson;
import com.police.utils.UiUtils;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
public class ApplyPostViewModel {
public ApplyActivity activity;
public ApplyPostViewModel(ApplyActivity activity) {
this.activity = activity;
}
public void getApplyDept() {
activity.loadingShow();
activity.requestClient.getApplyDept(new CustomCallBack<List<ApplyDept>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyDept> value) {
activity.applyDept = value;
activity.loadingNone();
}
});
}
public void getApplyPerson(String deptId) {
activity.loadingShow();
activity.requestClient.getApplyPerson(deptId, new CustomCallBack<List<ApplyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyPerson> value) {
activity.applyPeople = value;
activity.loadingNone();
}
});
}
//
// public void getApplyJWLX() {
// activity.loadingShow();
// activity.requestClient.getApplyJWLX(new CustomCallBack<List<ApplyType>>() {
// @Override
// public void onError(@NonNull Call call, @NonNull Exception e) {
// UiUtils.toast(e.getMessage());
// activity.loadingNone();
// }
//
// @Override
// public void onSuccess(List<ApplyType> value) {
// activity.applyJWLX = value;
// activity.loadingNone();
// }
// });
// }
//
// public void getApplyXXLY() {
// activity.loadingShow();
// activity.requestClient.getApplyXXLY(new CustomCallBack<List<ApplyType>>() {
// @Override
// public void onError(@NonNull Call call, @NonNull Exception e) {
// UiUtils.toast(e.getMessage());
// activity.loadingNone();
// }
//
// @Override
// public void onSuccess(List<ApplyType> value) {
// activity.applyXXLY = value;
// activity.loadingNone();
// }
// });
// }
public void addApply(HashMap<String, String> map) {
activity.loadingShow();
activity.requestClient.addApply(map, new CustomCallBack<Object>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(Object value) {
activity.sendSuccess();
activity.loadingNone();
}
});
}
}

View File

@ -0,0 +1,43 @@
package com.police.union.home.viewmodel;
import androidx.annotation.NonNull;
import com.police.network.CustomCallBack;
import com.police.union.RequestClient;
import com.police.union.home.activity.QueryApplyResultActivity;
import com.police.union.home.model.Apply;
import com.police.utils.UiUtils;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
public class ApplyResultViewModel {
public QueryApplyResultActivity activity;
public ApplyResultViewModel(QueryApplyResultActivity activity) {
this.activity = activity;
}
public void getApplyList(String fnbh) {
activity.loadingShow();
HashMap<String, String> map = new HashMap<>();
map.put("jqbh", fnbh);
// map.put("sfhm", "220283197910023151");
RequestClient.instance().getApplyList(map, new CustomCallBack<List<Apply>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<Apply> value) {
activity.applyList(value);
activity.loadingNone();
}
});
}
}

View File

@ -0,0 +1,127 @@
package com.police.union.home.viewmodel;
import androidx.annotation.NonNull;
import com.police.network.CustomCallBack;
import com.police.union.home.activity.ApplyActivity;
import com.police.union.home.model.ApplyDept;
import com.police.union.home.model.ApplyPerson;
import com.police.union.home.model.ApplyType;
import com.police.utils.UiUtils;
import java.util.Comparator;
import java.util.HashMap;
import java.util.List;
import okhttp3.Call;
public class ApplyViewModel {
public ApplyActivity activity;
public ApplyViewModel( ApplyActivity activity) {
this.activity = activity;
}
public void getApplyType() {
activity.loadingShow();
activity.requestClient.getApplyType(new CustomCallBack<List<ApplyType>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyType> value) {
value.sort(Comparator.comparing(ApplyType::getDictSort));
// activity.setPopupWindow(value);
activity.loadingNone();
}
});
}
public void getApplyDept() {
activity.loadingShow();
activity.requestClient.getApplyDept(new CustomCallBack<List<ApplyDept>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyDept> value) {
activity.applyDept = value;
activity.loadingNone();
}
});
}
public void getApplyPerson(String deptId) {
activity.loadingShow();
activity.requestClient.getApplyPerson(deptId,new CustomCallBack<List<ApplyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyPerson> value) {
activity.applyPeople = value;
activity.loadingNone();
}
});
}
public void getApplyJWLX() {
activity.loadingShow();
activity.requestClient.getApplyJWLX(new CustomCallBack<List<ApplyType>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyType> value) {
// activity.applyJWLX = value;
activity.loadingNone();
}
});
}
public void getApplyXXLY() {
activity.loadingShow();
activity.requestClient.getApplyXXLY(new CustomCallBack<List<ApplyType>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<ApplyType> value) {
// activity.applyXXLY = value;
activity.loadingNone();
}
});
}
public void addApply(HashMap<String, String> map) {
activity.loadingShow();
activity.requestClient.addApply(map, new CustomCallBack<Object>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(Object value) {
activity.sendSuccess();
activity.loadingNone();
}
});
}
}

View File

@ -0,0 +1,357 @@
package com.police.union.home.viewmodel;
import androidx.annotation.NonNull;
import com.google.gson.Gson;
import com.police.network.Constants;
import com.police.network.CustomCallBack;
import com.police.network.requestparams.GetKeyPersonListParams;
import com.police.network.requestparams.GetOrgKeyPersonListParams;
import com.police.network.requestparams.GetPoliceEmergencyListParams;
import com.police.union.home.activity.DataActivity;
import com.police.union.home.activity.KeyPersonDetailActivity;
import com.police.union.home.activity.PoliceEmergencyDetailActivity;
import com.police.union.home.model.DataCount;
import com.police.union.home.model.KeyPerson;
import com.police.union.home.model.KeyPersonDetail;
import com.police.union.home.model.PoliceEmergency;
import com.police.union.home.model.PoliceEmergencyDetail;
import com.police.utils.UiUtils;
import java.util.List;
import okhttp3.Call;
public class DataViewModel {
public int pageNum = 1;
public DataActivity activity;
public DataViewModel(DataActivity activity) {
this.activity = activity;
}
public void keyPersonInit() {
activity.loadingShow();
pageNum = 1;
activity.personList.clear();
//加载数据
GetKeyPersonListParams params = new GetKeyPersonListParams();
params.setPageNum(pageNum + "");
if (activity.filterType == 0) {
params.setXm(activity.binding.etInput.getText().toString());
} else {
params.setSfzh(activity.binding.etInput.getText().toString());
}
activity.requestClient.getKeyPerson(params, new CustomCallBack<List<KeyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<KeyPerson> value) {
activity.loadingNone();
if (value != null) {
activity.personList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
}
});
}
public void orgKeyPersonInit() {
activity.loadingShow();
pageNum = 1;
activity.personList.clear();
//加载数据
GetOrgKeyPersonListParams params = new GetOrgKeyPersonListParams();
params.setPageNum(pageNum + "");
if (activity.filterType == 0) {
params.setXm(activity.binding.etInput.getText().toString());
} else {
params.setSfzh(activity.binding.etInput.getText().toString());
}
activity.requestClient.getOrgKeyPerson(params, new CustomCallBack<List<KeyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(List<KeyPerson> value) {
activity.loadingNone();
if (value != null) {
activity.personList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
}
});
}
public void keyPersonLoadMore() {
activity.loadingShow();
//加载数据
GetKeyPersonListParams params = new GetKeyPersonListParams();
pageNum++;
params.setPageNum(pageNum + "");
activity.requestClient.getKeyPerson(params, new CustomCallBack<List<KeyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
activity.binding.refreshLayout.finishLoadMore();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(List<KeyPerson> value) {
activity.loadingNone();
if (value == null || value.size() < Constants.PAGE_SIZE) {
activity.binding.refreshLayout.setNoMoreData(true);
}
if (value != null) {
activity.personList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
activity.binding.refreshLayout.finishLoadMore();
}
});
}
public void keyPersonRefresh() {
activity.loadingShow();
activity.personList.clear();
pageNum = 1;
//加载数据
GetKeyPersonListParams params = new GetKeyPersonListParams();
params.setPageNum(pageNum + "");
activity.requestClient.getKeyPerson(params, new CustomCallBack<List<KeyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
activity.binding.refreshLayout.finishRefresh();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(List<KeyPerson> value) {
activity.loadingNone();
if (value != null) {
activity.personList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
activity.binding.refreshLayout.finishRefresh();
}
});
}
public void orgKeyPersonLoadMore() {
activity.loadingShow();
//加载数据
GetOrgKeyPersonListParams params = new GetOrgKeyPersonListParams();
pageNum++;
params.setPageNum(pageNum + "");
activity.requestClient.getOrgKeyPerson(params, new CustomCallBack<List<KeyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
activity.binding.refreshLayout.finishLoadMore();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(List<KeyPerson> value) {
activity.loadingNone();
if (value == null || value.size() < Constants.PAGE_SIZE) {
activity.binding.refreshLayout.setNoMoreData(true);
}
if (value != null) {
activity.personList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
activity.binding.refreshLayout.finishLoadMore();
}
});
}
public void orgKeyPersonRefresh() {
activity.loadingShow();
activity.personList.clear();
pageNum = 1;
//加载数据
GetOrgKeyPersonListParams params = new GetOrgKeyPersonListParams();
params.setPageNum(pageNum + "");
activity.requestClient.getOrgKeyPerson(params, new CustomCallBack<List<KeyPerson>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
activity.binding.refreshLayout.finishRefresh();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(List<KeyPerson> value) {
activity.loadingNone();
if (value != null) {
activity.personList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
activity.binding.refreshLayout.finishRefresh();
}
});
}
public void keyPersonDetail(String sfzh) {
activity.loadingShow();
activity.requestClient.keyPersonDetail(sfzh, new CustomCallBack<KeyPersonDetail>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(KeyPersonDetail value) {
activity.loadingNone();
KeyPersonDetailActivity.startAction(activity, new Gson().toJson(value));
}
});
}
/**
* 警情数据初始化
*/
public void policeEmergencyInit() {
activity.loadingShow();
pageNum = 1;
activity.policeList.clear();
//加载数据
GetPoliceEmergencyListParams params = new GetPoliceEmergencyListParams();
params.setPageNum(pageNum + "");
if (activity.filterType == 0) {
params.setJcjbh(activity.binding.etInput.getText().toString());
} else if (activity.filterType == 1) {
params.setBjjyqk(activity.binding.etInput.getText().toString());
} else {
params.setBjrlxdh(activity.binding.etInput.getText().toString());
}
activity.requestClient.getPoliceEmergency(params, new CustomCallBack<List<PoliceEmergency>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<PoliceEmergency> value) {
activity.loadingNone();
if (value != null) {
activity.policeList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
}
});
}
public void policeEmergencyRefresh() {
activity.loadingShow();
pageNum = 1;
activity.policeList.clear();
//加载数据
GetPoliceEmergencyListParams params = new GetPoliceEmergencyListParams();
params.setPageNum(pageNum + "");
if (activity.filterType == 0) {
params.setJcjbh(activity.binding.etInput.getText().toString());
} else if (activity.filterType == 1) {
params.setBjjyqk(activity.binding.etInput.getText().toString());
} else {
params.setBjrlxdh(activity.binding.etInput.getText().toString());
}
activity.requestClient.getPoliceEmergency(params, new CustomCallBack<List<PoliceEmergency>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.binding.refreshLayout.finishRefresh();
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(List<PoliceEmergency> value) {
activity.binding.refreshLayout.finishRefresh();
activity.loadingNone();
if (value != null) {
activity.policeList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
}
});
}
public void policeEmergencyLoadMore() {
activity.loadingShow();
//加载数据
GetPoliceEmergencyListParams params = new GetPoliceEmergencyListParams();
pageNum++;
params.setPageNum(pageNum + "");
activity.requestClient.getPoliceEmergency(params, new CustomCallBack<List<PoliceEmergency>>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
activity.binding.refreshLayout.finishLoadMore();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(List<PoliceEmergency> value) {
activity.loadingNone();
if (value == null || value.size() < Constants.PAGE_SIZE) {
activity.binding.refreshLayout.setNoMoreData(true);
}
if (value != null) {
activity.policeList.addAll(value);
}
activity.adapter.notifyDataSetChanged();
activity.binding.refreshLayout.finishLoadMore();
}
});
}
public void policeEmergencyDetail(String jcjbh) {
activity.loadingShow();
activity.requestClient.getPoliceEmergencyDetail(jcjbh, new CustomCallBack<PoliceEmergencyDetail>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(PoliceEmergencyDetail value) {
activity.loadingNone();
PoliceEmergencyDetailActivity.startAction(activity, new Gson().toJson(value));
}
});
}
public void getKeyPersonMessageCount() {
activity.loadingShow();
activity.requestClient.getKeyPersonMessageCount(new CustomCallBack<DataCount>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
activity.loadingNone();
UiUtils.toast(e.getMessage());
}
@Override
public void onSuccess(DataCount value) {
activity.loadingNone();
activity.binding.tvKeyPersonCount.setText(value.getZdryCount());
activity.binding.tvPoliceEmergencyCount.setText(value.getJqCount());
activity.binding.tvCaseDetailsCount.setText(value.getAqCount());
activity.binding.tvKeyPersonTabCount.setText(value.getZdryCount());
activity.binding.tvAreaKeyTabCount.setText(value.getZdryDeptCount());
}
});
}
}

View File

@ -0,0 +1,54 @@
package com.police.union.home.viewmodel;
import androidx.annotation.NonNull;
import com.police.network.CustomCallBack;
import com.police.union.RequestClient;
import com.police.union.home.activity.ApplyDetailActivity;
import com.police.union.home.model.ApplyDetail;
import com.police.utils.UiUtils;
import okhttp3.Call;
public class DetailViewModel {
public ApplyDetailActivity activity;
public RequestClient requestClient = RequestClient.instance();
public DetailViewModel(ApplyDetailActivity activity) {
this.activity = activity;
}
public void getApplyDetail(String fnbh) {
activity.loadingShow();
requestClient.getApplyDetail(fnbh, new CustomCallBack<ApplyDetail>() {
@Override
public void onError(@NonNull Call call, @NonNull Exception e) {
UiUtils.toast(e.getMessage());
activity.loadingNone();
}
@Override
public void onSuccess(ApplyDetail value) {
activity.applyDetail(value);
activity.loadingNone();
}
});
}
// public void jumpApplyDetail(String fnbh) {
// activity.loadingShow();
// requestClient.jumpApplyDetail(fnbh, new CustomCallBack<ApplyDetail>() {
// @Override
// public void onError(@NonNull Call call, @NonNull Exception e) {
// UiUtils.toast(e.getMessage());
// activity.loadingNone();
// }
//
// @Override
// public void onSuccess(ApplyDetail value) {
// activity.applyDetail(value);
// activity.loadingNone();
// }
// });
// }
}

View File

@ -0,0 +1,33 @@
package com.police.union.personal.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.police.base.BaseFragment;
import com.police.network.Constants;
import com.police.union.databinding.FragmentMineBinding;
public class MineFragment extends BaseFragment {
private FragmentMineBinding binding;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
binding = FragmentMineBinding.inflate(inflater);
initView();
return binding.getRoot();
}
private void initView() {
binding.tvUserName.setText(Constants.XM);
binding.tvUserPhone.setText(Constants.USER_ID);
binding.ivMineQuery.setOnClickListener(view -> {
//点击了切换所属组织功能
});
}
}

View File

@ -0,0 +1,208 @@
package com.police.union.widget;
import android.graphics.Color;
import android.graphics.Paint;
/**
* @author Leon (wshk729@163.com)
* @date 2018/8/24
* <p>
*/
public class WaterMarkInfo {
private int mDegrees;
private int mTextColor;
private int mTextSize;
private boolean mTextBold;
private int mDx;
private int mDy;
private Paint.Align mAlign;
private WaterMarkInfo(int degrees, int textColor, int textSize, boolean textBold, int dx, int dy, Paint.Align align) {
mDegrees = degrees;
mTextColor = textColor;
mTextSize = textSize;
mTextBold = textBold;
mDx = dx;
mDy = dy;
mAlign = align;
}
public int getDegrees() {
return mDegrees;
}
public int getTextColor() {
return mTextColor;
}
public int getTextSize() {
return mTextSize;
}
public int getDx() {
return mDx;
}
public int getDy() {
return mDy;
}
public Paint.Align getAlign() {
return mAlign;
}
public int getAlignInt() {
switch (mAlign) {
case LEFT:
return 0;
case RIGHT:
return 2;
default:
return 1;
}
}
public boolean isTextBold() {
return mTextBold;
}
void setDegrees(int degrees) {
mDegrees = degrees;
}
void setTextColor(int textColor) {
mTextColor = textColor;
}
void setTextSize(int textSize) {
mTextSize = textSize;
}
void setTextBold(boolean textBold) {
mTextBold = textBold;
}
void setDx(int dx) {
mDx = dx;
}
void setDy(int dy) {
mDy = dy;
}
void setAlign(Paint.Align align) {
this.mAlign = align;
}
public static Builder create() {
return new Builder();
}
public static class Builder {
private int mDegrees;
private int mTextColor;
private int mTextSize;
private boolean mTextBold;
private int mDx;
private int mDy;
private Paint.Align mAlign;
private Builder() {
mDegrees = -30;
mTextColor = Color.parseColor("#33000000");
mTextSize = 35;
mTextBold = false;
mDx = 100;
mDy = 240;
mAlign = Paint.Align.CENTER;
}
/**
* 设置水印文字倾斜度
*
* @param degrees 文字倾斜度(默认:-30)
* @return Builder
*/
public Builder setDegrees(int degrees) {
mDegrees = degrees;
return this;
}
/**
* 设置水印文字颜色
*
* @param textColor 文字颜色(默认:#33000000)
* @return Builder
*/
public Builder setTextColor(int textColor) {
mTextColor = textColor;
return this;
}
/**
* 设置水印文字大小单位px
*
* @param textSize 文字大小(默认:42px)
* @return Builder
*/
public Builder setTextSize(int textSize) {
mTextSize = textSize;
return this;
}
/**
* 设置水印文字是否加粗
*
* @param textBold 文字加粗(默认:false)
* @return Builder
*/
public Builder setTextBold(boolean textBold) {
mTextBold = textBold;
return this;
}
/**
* 设置水印文字X轴间距单位px
*
* @param dx 文字X轴间距(默认:100px)
* @return Builder
*/
public Builder setDx(int dx) {
mDx = dx;
return this;
}
/**
* 设置水印文字Y轴间距单位px
*
* @param dy 文字Y轴间距(默认:240px)
* @return Builder
*/
public Builder setDy(int dy) {
mDy = dy;
return this;
}
/**
* 设置水印文字对齐方式
*
* @param align 对齐方式(默认:Center)
* @return Builder
*/
public Builder setAlign(Paint.Align align) {
mAlign = align;
return this;
}
/**
* 生成水印全局配置信息
*
* @return 配置信息
*/
public WaterMarkInfo generate() {
return new WaterMarkInfo(mDegrees, mTextColor, mTextSize, mTextBold, mDx, mDy, mAlign);
}
}
}

View File

@ -0,0 +1,188 @@
package com.police.union.widget;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.graphics.Paint;
import android.view.LayoutInflater;
import com.police.union.R;
import java.util.ArrayList;
import java.util.List;
/**
* @author Leon (wshk729@163.com)
* @date 2018/8/24
* <p>
*/
public class WaterMarkManager {
static WaterMarkInfo INFO = null;
static String[] CONTENT = null;
static List<WaterMarkView> LIST = new ArrayList<>();
/**
* 设置水印全局配置信息
*
* @param info 配置信息
*/
public static void setInfo(WaterMarkInfo info) {
INFO = info;
}
/**
* 获取一个满屏水印View
*
* @param activity activity
*/
@SuppressLint("InflateParams")
public static WaterMarkView getView(Activity activity) {
return (WaterMarkView) LayoutInflater.from(activity).inflate(R.layout.view_water_mark, null);
}
/**
* WaterMarkInfo初始化判断
*/
private static void assertInitialized() {
if (INFO == null) {
INFO = WaterMarkInfo.create().generate();
}
}
/**
* 同步设置全部水印文字信息
*
* @param content 文字信息
*/
public static void setText(String... content) {
assertInitialized();
CONTENT = content;
if (LIST.size() > 0) {
for (WaterMarkView view : LIST) {
if (view != null) {
view.setSyncText(content);
}
}
}
}
/**
* 同步设置全部水印倾斜角度
*
* @param degrees 倾斜角度(默认:-30)
*/
public static void setDegrees(int degrees) {
assertInitialized();
INFO.setDegrees(degrees);
if (LIST.size() > 0) {
for (WaterMarkView view : LIST) {
if (view != null) {
view.setSyncDegrees(degrees);
}
}
}
}
/**
* 同步设置全部水印字体颜色
*
* @param textColor 字体颜色(默认:#33000000)
*/
public static void setTextColor(int textColor) {
assertInitialized();
INFO.setTextColor(textColor);
if (LIST.size() > 0) {
for (WaterMarkView view : LIST) {
if (view != null) {
view.setSyncTextColor(textColor);
}
}
}
}
/**
* 同步设置全部水印字体大小单位px
*
* @param textSize 字体大小(默认:42px)
*/
public static void setTextSize(int textSize) {
assertInitialized();
INFO.setTextSize(textSize);
if (LIST.size() > 0) {
for (WaterMarkView view : LIST) {
if (view != null) {
view.setSyncTextSize(textSize);
}
}
}
}
/**
* 同步设置全部水印字体是否粗体
*
* @param textBold 是否粗体(默认:false)
*/
public static void setTextBold(boolean textBold) {
assertInitialized();
INFO.setTextBold(textBold);
if (LIST.size() > 0) {
for (WaterMarkView view : LIST) {
if (view != null) {
view.setSyncTextBold(textBold);
}
}
}
}
/**
* 同步设置全部水印X轴偏移量单位px
*
* @param dx X轴偏移量(默认:100px)
*/
public static void setDx(int dx) {
assertInitialized();
INFO.setDx(dx);
if (LIST.size() > 0) {
for (WaterMarkView view : LIST) {
if (view != null) {
view.setSyncDx(dx);
}
}
}
}
/**
* 同步设置全部水印Y轴偏移量单位px
*
* @param dy Y轴偏移量(默认:240px)
*/
public static void setDy(int dy) {
assertInitialized();
INFO.setDy(dy);
if (LIST.size() > 0) {
for (WaterMarkView view : LIST) {
if (view != null) {
view.setSignDy(dy);
}
}
}
}
/**
* 同步设置全部水印对齐方式
*
* @param align 对齐方式(默认:Center)
*/
public static void setAlign(Paint.Align align) {
assertInitialized();
INFO.setAlign(align);
if (LIST.size() > 0) {
for (WaterMarkView view : LIST) {
if (view != null) {
view.setSignAlign(align);
}
}
}
}
}

View File

@ -0,0 +1,335 @@
package com.police.union.widget;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.graphics.Typeface;
import android.text.TextPaint;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import com.police.union.R;
public class WaterMarkView extends View {
private static final String DEFAULT_SEPARATOR = "///";
private TextPaint mTextPaint = new TextPaint();
private String[] mText;
private int mDegrees;
private int mTextColor;
private int mTextSize=35;
private boolean mTextBold;
private int mDx;
private int mDy;
private Paint.Align mAlign;
private boolean mSync;
private int textWidth, textHeight;
public WaterMarkView(Context context) {
this(context, null);
}
public WaterMarkView(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.WaterMarkView);
mDegrees = typedArray.getInt(R.styleable.WaterMarkView_water_mark_degree, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDegrees() : -30);
String text = typedArray.getString(R.styleable.WaterMarkView_water_mark_text);
if (text != null) {
mText = text.split(DEFAULT_SEPARATOR);
}
mTextColor = typedArray.getColor(R.styleable.WaterMarkView_water_mark_textColor, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getTextColor() : Color.parseColor("#33000000"));
mTextSize = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_textSize, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getTextSize() : 42);
mTextBold = typedArray.getBoolean(R.styleable.WaterMarkView_water_mark_textBold, WaterMarkManager.INFO != null && WaterMarkManager.INFO.isTextBold());
mDx = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_dx, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDx() : 100);
mDy = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_dy, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDy() : 240);
int align = typedArray.getInt(R.styleable.WaterMarkView_water_mark_align, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getAlignInt() : 1);
mAlign = align == 0 ? Paint.Align.LEFT : align == 2 ? Paint.Align.RIGHT : Paint.Align.CENTER;
mSync = typedArray.getBoolean(R.styleable.WaterMarkView_water_mark_sync, true);
typedArray.recycle();
setBackgroundColor(Color.TRANSPARENT);
mTextPaint.setAntiAlias(true);
mTextPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
mTextPaint.setColor(mTextColor);
mTextPaint.setTextSize(mTextSize);
mTextPaint.setTypeface(mTextBold ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
mTextPaint.setTextAlign(mAlign);
mText = mText == null && mSync ? WaterMarkManager.CONTENT : mText;
textWidth = 0;
textHeight = 0;
if (mText != null && mText.length > 0) {
for (String s : mText) {
Rect tvRect = new Rect();
mTextPaint.getTextBounds(s, 0, s.length(), tvRect);
textWidth = textWidth > tvRect.width() ? textWidth : tvRect.width();
textHeight += (tvRect.height() + 10);
}
}
if (mSync) {
WaterMarkManager.LIST.add(this);
}
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (mText != null && mText.length > 0) {
int measuredWidth = getMeasuredWidth();
int measuredHeight = getMeasuredHeight();
if (measuredWidth == 0 || measuredHeight == 0) {
return;
}
int canvasLength = measuredWidth > measuredHeight ? measuredWidth : measuredHeight;
canvas.save();
canvas.rotate(mDegrees, measuredWidth / 2, measuredHeight / 2);
canvas.save();
int y = 0;
boolean odd = true;
while (y < canvasLength + textHeight) {
int x = odd ? 0 : -(textWidth + mDx) / 2;
while (x < canvasLength + textWidth) {
drawTexts(mText, mTextPaint, canvas, x, y);
x = x + textWidth + mDx;
}
y = y + textHeight + mDy;
odd = !odd;
}
canvas.restore();
}
}
private void drawTexts(String[] ss, Paint paint, Canvas canvas, int x, int y) {
Paint.FontMetrics fontMetrics = paint.getFontMetrics();
float top = fontMetrics.top;
float bottom = fontMetrics.bottom;
int length = ss.length;
float total = (length - 1) * (bottom - top) + (fontMetrics.descent - fontMetrics.ascent);
float offset = total / 2 - bottom;
for (int i = 0; i < length; i++) {
float yAxis = -(length - i - 1) * (bottom - top) + offset;
canvas.drawText(ss[i], x, y + yAxis + 10, paint);
}
}
/**
* 设置水印文字内容
*
* @param text 文字内容
*/
public void setText(String... text) {
mText = text;
textWidth = 0;
textHeight = 0;
if (mText != null && mText.length > 0) {
for (String s : mText) {
Rect tvRect = new Rect();
mTextPaint.getTextBounds(s, 0, s.length(), tvRect);
textWidth = textWidth > tvRect.width() ? textWidth : tvRect.width();
textHeight += (tvRect.height() + 10);
}
}
postInvalidate();
}
/**
* 同步设置水印文字内容
*
* @param text 文字内容
*/
void setSyncText(String... text) {
if (mSync) {
setText(text);
}
}
/**
* 设置水印倾斜角度
*
* @param degrees 倾斜角度(默认:-30)
*/
public void setDegrees(int degrees) {
mDegrees = degrees;
postInvalidate();
}
/**
* 同步设置水印倾斜角度
*
* @param degrees 倾斜角度(默认:-30)
*/
void setSyncDegrees(int degrees) {
if (mSync) {
setDegrees(degrees);
}
}
/**
* 设置水印字体颜色
*
* @param textColor 字体颜色(默认:#33000000)
*/
public void setTextColor(int textColor) {
mTextColor = textColor;
mTextPaint.setColor(mTextColor);
postInvalidate();
}
/**
* 同步设置水印字体颜色
*
* @param textColor 字体颜色(默认:#33000000)
*/
void setSyncTextColor(int textColor) {
if (mSync) {
setTextColor(textColor);
}
}
/**
* 设置水印字体大小单位px
*
* @param textSize 字体大小(默认:42px)
*/
public void setTextSize(int textSize) {
mTextSize = textSize;
mTextPaint.setTextSize(mTextSize);
postInvalidate();
}
/**
* 同步设置水印字体大小单位px
*
* @param textSize 字体大小(默认:42px)
*/
void setSyncTextSize(int textSize) {
if (mSync) {
setTextSize(textSize);
}
}
/**
* 设置水印字体是否粗体
*
* @param textBold 是否粗体(默认:false)
*/
public void setTextBold(boolean textBold) {
mTextBold = textBold;
mTextPaint.setTypeface(mTextBold ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
postInvalidate();
}
/**
* 同步设置水印字体是否粗体
*
* @param textBold 是否粗体(默认:false)
*/
void setSyncTextBold(boolean textBold) {
if (mSync) {
setTextBold(textBold);
}
}
/**
* 设置水印X轴偏移量单位px
*
* @param dx X轴偏移量(默认:100px)
*/
public void setDx(int dx) {
this.mDx = dx;
postInvalidate();
}
/**
* 同步设置水印X轴偏移量单位px
*
* @param dx X轴偏移量(默认:100px)
*/
void setSyncDx(int dx) {
if (mSync) {
setDx(dx);
}
}
/**
* 设置水印Y轴偏移量单位px
*
* @param dy Y轴偏移量(默认:240px)
*/
public void setDy(int dy) {
this.mDy = dy;
postInvalidate();
}
/**
* 同步设置水印Y轴偏移量单位px
*
* @param dy Y轴偏移量(默认:240px)
*/
void setSignDy(int dy) {
if (mSync) {
setDy(dy);
}
}
/**
* 设置水印对齐方式
*
* @param align 对齐方式(默认:Center)
*/
public void setAlign(Paint.Align align) {
this.mAlign = align;
postInvalidate();
}
/**
* 同步设置水印对齐方式
*
* @param align 对齐方式(默认:Center)
*/
void setSignAlign(Paint.Align align) {
if (mSync) {
setAlign(align);
}
}
/**
* 销毁相关页面时调用切记
*/
public void onDestroy() {
if (mSync) {
WaterMarkManager.LIST.remove(this);
}
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
return false;
}
@SuppressLint("ClickableViewAccessibility")
@Override
public boolean onTouchEvent(MotionEvent event) {
return false;
}
}

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dp" android:color="#ccc"/> <!-- 边框颜色和宽度 -->
<corners android:radius="10dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#fff"/>
<corners android:radius="15dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#4b8e01"/>
<corners android:radius="2dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#de7900"/>
<corners android:radius="2dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/selected_color"/>
<corners android:radius="2dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dp" android:color="#ccc"/> <!-- 边框颜色和宽度 -->
<corners android:radius="3dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#4b8e01"/>
<corners android:radius="7dp"/>
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#999" />
<corners android:radius="7dp" />
</shape>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="rectangle">
<solid android:color="#999" />
</shape>
</item>
<item android:bottom="1dp">
<shape android:shape="rectangle">
<solid android:color="#fff" />
</shape>
</item>
</layer-list>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#de7900"/>
<corners android:radius="7dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#fff"/>
<corners android:radius="7dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke android:width="1dp" android:color="#ccc"/> <!-- 边框颜色和宽度 -->
<corners android:radius="7dp"/>
</shape>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#052eba" />
<corners android:radius="7dp" />
</shape>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_B6F7E9" />
<corners
android:radius="10dp" />
</shape>

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#FEF5EC" />
<stroke
android:width="1dp"
android:color="@color/color_F7933B" />
<corners android:radius="6dp" />
</shape>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_F7EAB6" />
<corners
android:radius="10dp" />
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#f7f7f7" />
<corners
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
</shape>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_F9E2E2" />
<corners
android:radius="10dp" />
</shape>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_FBE5CA" />
<corners
android:radius="10dp" />
</shape>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#052eba"/>
<corners android:bottomRightRadius="7dp"
android:topRightRadius="7dp"/>
</shape>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="#f7f7f7"/>
<corners android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="@color/white" />
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/white" />
<corners
android:topLeftRadius="20dp"
android:topRightRadius="20dp" />
</shape>

View File

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white">
<ImageView
android:id="@+id/iv_back"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="16dp"
android:src="@mipmap/back" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="申请赋能"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="100dp"
android:background="@drawable/top_10_f7_bg" />
<RelativeLayout
android:id="@+id/table_group"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="60dp"
android:background="@drawable/all_7_fff_bg"
android:gravity="center_vertical"
android:paddingHorizontal="10dp">
<TextView
android:id="@+id/tv_my_key_person"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="申请事由:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<RelativeLayout
android:id="@+id/type_group"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:layout_marginBottom="5dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_10_ccc_bg"
android:paddingHorizontal="15dp">
<TextView
android:id="@+id/tv_apply_search_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="处置警情"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
</RelativeLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/table_group"
android:layout_marginTop="15dp">
<include
android:id="@+id/include_apply"
layout="@layout/item_apply_fragment_2" />
</FrameLayout>
<RelativeLayout
android:id="@+id/rl_loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true" />
</RelativeLayout>
</RelativeLayout>

View File

@ -0,0 +1,213 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".home.activity.ApplyDetailActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_back"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="16dp"
android:src="@mipmap/back" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="赋能详情"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="65dp">
<LinearLayout
android:id="@+id/ll_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:background="@color/white"
android:orientation="vertical"
android:padding="15dp"
app:layout_constraintTop_toTopOf="parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="赋能编号:"
android:textColor="@color/color_999"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_detail_fnbh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="funengbianhao"
android:textColor="@color/normal_color"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="申请事由:"
android:textColor="@color/color_999"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_detail_sqsy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="处置警情"
android:textColor="@color/normal_color"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="申请时间:"
android:textColor="@color/color_999"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_detail_sqsj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2024-05-05"
android:textColor="@color/normal_color"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="警务类型:"
android:textColor="@color/color_999"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_detail_jwlx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="警务类型"
android:textColor="@color/normal_color"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查询内容:"
android:textColor="@color/color_999"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_detail_cxnr"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查询内容"
android:textColor="@color/normal_color"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="审核状态:"
android:textColor="@color/color_999"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_detail_shzt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="审核状态"
android:textColor="@color/normal_color"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="赋能详情:"
android:textColor="@color/color_999"
android:textSize="15sp" />
</LinearLayout>
</LinearLayout>
</ScrollView>
<RelativeLayout
android:id="@+id/rl_loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,365 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".home.activity.DataActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@mipmap/icon_main_bg" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="58dp"
android:gravity="center"
android:paddingTop="8dp">
<View
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@mipmap/ic_launcher" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="吉林公安大数据实战赋能系统"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="100dp"
android:background="@drawable/top_10_f7_bg" />
<RelativeLayout
android:id="@+id/table_group"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="60dp"
android:background="@drawable/all_7_fff_bg"
android:paddingTop="5dp">
<LinearLayout
android:id="@+id/ll_key_person"
android:layout_width="73dp"
android:layout_height="match_parent"
android:layout_marginStart="40dp"
android:gravity="center"
android:orientation="vertical">
<View
android:id="@+id/icon_key_person"
android:layout_width="28dp"
android:layout_height="33dp"
android:background="@mipmap/key_person_icon_selected" />
<TextView
android:id="@+id/tv_key_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="重点人"
android:textColor="@color/selected_color"
android:textSize="14sp" />
<View
android:id="@+id/select_key_person"
android:layout_width="28dp"
android:layout_height="3dp"
android:layout_marginTop="3dp"
android:background="@color/selected_color" />
</LinearLayout>
<TextView
android:id="@+id/tv_key_person_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/ll_key_person"
android:layout_marginLeft="45dp"
android:background="@drawable/all_7_main_bg"
android:paddingHorizontal="5dp"
android:textColor="@color/white"
android:visibility="invisible"
android:textSize="10sp"
tools:text="99+" />
<LinearLayout
android:id="@+id/ll_police_emergency"
android:layout_width="73dp"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:gravity="center"
android:orientation="vertical">
<View
android:id="@+id/icon_police_emergency"
android:layout_width="28dp"
android:layout_height="33dp"
android:background="@mipmap/icon_jq_normal" />
<TextView
android:id="@+id/tv_police_emergency"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="警情"
android:textColor="@color/black"
android:textSize="14sp" />
<View
android:id="@+id/select_police_emergency"
android:layout_width="28dp"
android:layout_height="3dp"
android:layout_marginTop="3dp"
android:background="@color/white" />
</LinearLayout>
<TextView
android:id="@+id/tv_police_emergency_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/ll_police_emergency"
android:layout_marginLeft="45dp"
android:background="@drawable/all_7_main_bg"
android:paddingHorizontal="5dp"
android:visibility="invisible"
android:textColor="@color/white"
android:textSize="10sp"
tools:text="99+" />
<LinearLayout
android:id="@+id/ll_case_details"
android:layout_width="73dp"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:layout_marginEnd="40dp"
android:gravity="center"
android:orientation="vertical">
<View
android:id="@+id/icon_case_details"
android:layout_width="28dp"
android:layout_height="33dp"
android:background="@mipmap/wenjianjia_icon" />
<TextView
android:id="@+id/tv_case_details"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="案情"
android:textColor="@color/black"
android:textSize="14sp" />
<View
android:id="@+id/select_case_details"
android:layout_width="28dp"
android:layout_height="3dp"
android:layout_marginTop="3dp"
android:background="@color/white" />
</LinearLayout>
<TextView
android:id="@+id/tv_case_details_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/ll_case_details"
android:layout_marginLeft="45dp"
android:background="@drawable/all_7_main_bg"
android:paddingHorizontal="5dp"
android:visibility="invisible"
android:textColor="@color/white"
android:textSize="10sp"
tools:text="99+" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/type_group"
android:layout_width="100dp"
android:layout_height="34dp"
android:layout_below="@id/table_group"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_marginBottom="5dp"
android:background="@drawable/all_7_fff_bg">
<TextView
android:id="@+id/tv_search_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="姓名"
android:textColor="@color/black"
android:textSize="13sp" />
<View
android:layout_width="10dp"
android:layout_height="10dp"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_marginEnd="5dp"
android:background="@mipmap/jaintou" />
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="34dp"
android:layout_below="@id/table_group"
android:layout_marginStart="7dp"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:layout_toRightOf="@id/type_group"
android:background="@drawable/all_7_fff_bg">
<View
android:layout_width="17dp"
android:layout_height="17dp"
android:layout_centerVertical="true"
android:layout_marginStart="5dp"
android:background="@mipmap/search" />
<EditText
android:id="@+id/et_input"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="27dp"
android:layout_marginEnd="51dp"
android:background="#fff"
android:textColor="#333"
android:textSize="13sp" />
<TextView
android:id="@+id/tv_search_btn"
android:layout_width="51dp"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:background="@drawable/right_7_052eba_bg"
android:gravity="center"
android:text="搜索"
android:textColor="@color/white"
android:textSize="13sp"
android:textStyle="bold" />
</RelativeLayout>
<LinearLayout
android:id="@+id/tab_group"
android:layout_width="match_parent"
android:layout_height="38dp"
android:layout_below="@id/type_group"
android:orientation="horizontal">
<RelativeLayout
android:id="@+id/ll_my_key_person"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tv_my_key_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="我的重点人"
android:textColor="@color/selected_color"
android:textSize="13sp"
android:textStyle="bold" />
<View
android:id="@+id/select_my_key_person"
android:layout_width="17dp"
android:layout_height="3dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:background="#0000ff" />
<TextView
android:id="@+id/tv_key_person_tab_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_main_bg"
android:paddingHorizontal="5dp"
android:textColor="@color/white"
android:visibility="invisible"
android:textSize="10sp"
tools:text="99+" />
</RelativeLayout>
<RelativeLayout
android:id="@+id/ll_area_key_person"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<TextView
android:id="@+id/tv_area_key_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="辖区(警种)重点人"
android:textColor="#666"
android:textSize="13sp"
android:textStyle="bold" />
<View
android:id="@+id/select_area_key_person"
android:layout_width="17dp"
android:layout_height="3dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="3dp"
android:background="@color/transparent_color" />
<TextView
android:id="@+id/tv_area_key_tab_count"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:layout_toRightOf="@id/tv_area_key_person"
android:background="@drawable/all_7_main_bg"
android:paddingHorizontal="5dp"
android:visibility="invisible"
android:textColor="@color/white"
android:textSize="10sp"
tools:text="99+" />
</RelativeLayout>
</LinearLayout>
<com.scwang.smart.refresh.layout.SmartRefreshLayout
android:id="@+id/refreshLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/tab_group">
<!-- 这里放置你的RecyclerView或其他需要刷新的布局 -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_group"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</com.scwang.smart.refresh.layout.SmartRefreshLayout>
<RelativeLayout
android:id="@+id/rl_loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true" />
</RelativeLayout>
</RelativeLayout>

View File

@ -0,0 +1,896 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:background="#f7f7f7"
tools:context=".home.activity.KeyPersonDetailActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_back"
android:layout_width="48dp"
android:layout_height="48dp"
android:padding="15dp"
android:src="@mipmap/back" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="重点人详情"
android:textColor="@color/black"
android:textSize="15sp" />
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
android:scrollbars="none">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_person_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="13dp"
android:layout_marginTop="14dp"
android:background="@drawable/all_2_selected_bg"
android:padding="2dp"
android:src="@mipmap/person"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="基础信息"
android:textColor="#FF052EBA"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv_person_icon"
app:layout_constraintLeft_toRightOf="@id/iv_person_icon"
app:layout_constraintTop_toTopOf="@id/iv_person_icon" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_base_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/all_7_fff_bg"
android:padding="13dp"
app:layout_constraintTop_toBottomOf="@id/iv_person_icon">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="47dp"
android:layout_height="57dp"
android:background="#FFE5E5E5"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:text="张三"
android:textColor="#FF333333"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@id/iv_photo"
app:layout_constraintTop_toTopOf="@id/iv_photo" />
<TextView
android:id="@+id/tv_gang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="/"
android:textColor="#FF333333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_name"
app:layout_constraintTop_toTopOf="@id/tv_name" />
<TextView
android:id="@+id/tv_sex"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="男"
android:textColor="#FF333333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_gang"
app:layout_constraintTop_toTopOf="@id/tv_gang" />
<TextView
android:id="@+id/tv_nation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:layout_marginBottom="5dp"
android:background="@drawable/all_3_ccc_bg"
android:paddingHorizontal="5dp"
android:paddingVertical="1dp"
android:text="汉族"
android:textColor="#333333"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="@id/iv_photo"
app:layout_constraintLeft_toRightOf="@id/iv_photo" />
<TextView
android:id="@+id/tv_marital"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:layout_marginBottom="5dp"
android:background="@drawable/all_3_ccc_bg"
android:paddingHorizontal="5dp"
android:paddingVertical="1dp"
android:textColor="#333333"
android:textSize="13sp"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="@id/iv_photo"
app:layout_constraintLeft_toRightOf="@id/tv_nation"
tools:text="已婚" />
<TextView
android:id="@+id/tv_bq"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:layout_marginBottom="5dp"
android:visibility="invisible"
android:background="@drawable/all_3_ccc_bg"
android:paddingHorizontal="5dp"
android:paddingVertical="1dp"
android:textColor="#333333"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="@id/iv_photo"
app:layout_constraintLeft_toRightOf="@id/tv_marital"
tools:text="xx重点人员" />
<TextView
android:id="@+id/tv_id_card"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="身份证号:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_photo" />
<TextView
android:id="@+id/detail_sfzh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="15dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_id_card"
app:layout_constraintTop_toBottomOf="@id/iv_photo" />
<TextView
android:id="@+id/tv_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="手机号:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_id_card" />
<TextView
android:id="@+id/detail_sjh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_phone"
app:layout_constraintTop_toBottomOf="@id/tv_id_card" />
<TextView
android:id="@+id/tv_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="户籍地:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_phone" />
<TextView
android:id="@+id/detail_hj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_address"
app:layout_constraintTop_toBottomOf="@id/tv_phone" />
<TextView
android:id="@+id/tv_link_address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="关联地址:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_address" />
<TextView
android:id="@+id/detail_gldz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_link_address"
app:layout_constraintTop_toBottomOf="@id/tv_address" />
<TextView
android:id="@+id/tv_area"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="服务场所:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_link_address" />
<TextView
android:id="@+id/detail_fwcs"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_area"
app:layout_constraintTop_toBottomOf="@id/tv_link_address" />
<TextView
android:id="@+id/tv_car"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="车辆信息:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_area" />
<TextView
android:id="@+id/detail_clxx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_car"
app:layout_constraintTop_toBottomOf="@id/tv_area" />
</androidx.constraintlayout.widget.ConstraintLayout>
<ImageView
android:id="@+id/iv_location_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="13dp"
android:layout_marginTop="23dp"
android:background="@drawable/all_2_de7900_bg"
android:padding="2dp"
android:src="@mipmap/icon_14"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_base_info" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="位置信息"
android:textColor="#de7900"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv_location_icon"
app:layout_constraintLeft_toRightOf="@id/iv_location_icon"
app:layout_constraintTop_toTopOf="@id/iv_location_icon" />
<LinearLayout
android:id="@+id/ll_location_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/all_7_fff_bg"
android:orientation="vertical"
android:padding="13dp"
app:layout_constraintTop_toBottomOf="@id/iv_location_icon">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_last_location_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机实时基站位置:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_last_location_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_last_location_phone_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="手机最后定位时间:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_last_location_phone_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_last_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="车辆抓拍最后位置:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_last_location"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_last_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="车辆抓拍最后时间:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_last_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_face_location"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="人脸抓拍最后位置:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_face_location"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_face_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="人脸抓拍最后时间:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_face_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_fly_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近飞机订票信息:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_fly_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_fly_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近飞机起飞时间:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_fly_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_train_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近火车订票信息:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_train_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_train_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近火车发车时间:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_train_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_bus_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近客车订票信息:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_bus_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_bus_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近客车发车时间:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_bus_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_rest_info"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="最近省内住宿信息:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_rest_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<!-- <LinearLayout-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginVertical="5dp"-->
<!-- android:orientation="horizontal">-->
<!-- <TextView-->
<!-- android:id="@+id/tv_title_case_count"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text="历史案件次数:"-->
<!-- android:textColor="#999"-->
<!-- android:textSize="14sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv_body_case_count"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginStart="5dp"-->
<!-- android:textColor="#f00"-->
<!-- android:textSize="14sp"-->
<!-- tools:text="1" />-->
<!-- </LinearLayout>-->
</LinearLayout>
<ImageView
android:id="@+id/iv_ctrl_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="13dp"
android:layout_marginTop="23dp"
android:background="@drawable/all_2_4b8e01_bg"
android:padding="2dp"
android:src="@mipmap/icon_14"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_location_group" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="列控信息"
android:textColor="#4B8E01"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv_ctrl_icon"
app:layout_constraintLeft_toRightOf="@id/iv_ctrl_icon"
app:layout_constraintTop_toTopOf="@id/iv_ctrl_icon" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/all_7_fff_bg"
android:orientation="vertical"
android:padding="13dp"
app:layout_constraintTop_toBottomOf="@id/iv_ctrl_icon">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_ctrl_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="管理级别:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_ctrl_level"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_ctrl_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="列管类别:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_ctrl_type"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_ctrl_tag"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="列控警种:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_ctrl_tag"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_ctrl_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="列控时间:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_ctrl_time"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_ctrl_cause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="列控原因:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_ctrl_cause"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_ctrl_person"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="责任单位:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_ctrl_person"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_title_ctrl_police"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="责任民警:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_body_ctrl_police"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</ScrollView>
<com.police.union.widget.WaterMarkView
android:id="@+id/wm"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
android:singleLine="false"
app:water_mark_align="CENTER"
app:water_mark_degree="-30"
app:water_mark_dx="100px"
app:water_mark_dy="240px"
app:water_mark_sync="true"
app:water_mark_text="实战赋能"
app:water_mark_textBold="false"
app:water_mark_textColor="@color/water_color"
app:water_mark_textSize="30px" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,154 @@
<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="125dp"
android:background="@mipmap/icon_main_bg"
android:paddingHorizontal="40dp"
android:paddingBottom="15dp"
android:scaleType="fitXY">
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center_vertical"
android:src="@mipmap/ic_launcher" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="30dp"
android:gravity="center_horizontal"
android:maxLines="1"
android:text="@string/app_name"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</FrameLayout>
<FrameLayout
android:id="@+id/fc_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="86dp"
android:layout_marginBottom="50dp" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_alignParentBottom="true">
<View
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/footer_bg_color"
app:layout_constraintBottom_toBottomOf="parent" />
<LinearLayout
android:id="@+id/ll_chat"
android:layout_width="50dp"
android:layout_height="50dp"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@+id/ll_home"
app:layout_constraintHorizontal_chainStyle="spread"
app:layout_constraintStart_toStartOf="parent">
<ImageView
android:id="@+id/iv_chat"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginVertical="5dp"
android:src="@mipmap/icon_chat_selected" />
<TextView
android:id="@+id/tv_chat"
android:layout_width="50dp"
android:layout_height="20dp"
android:gravity="center"
android:text="群聊"
android:textColor="@color/main_color"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_home"
android:layout_width="50dp"
android:layout_height="70dp"
android:orientation="vertical"
android:paddingBottom="5dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/ll_person"
app:layout_constraintStart_toEndOf="@+id/ll_chat">
<ImageView
android:id="@+id/iv_home"
android:layout_width="50dp"
android:layout_height="50dp"
android:background="@drawable/white_round_bg"
android:padding="7dp"
android:src="@mipmap/icon_home_normal" />
<TextView
android:id="@+id/tv_home"
android:layout_width="50dp"
android:layout_height="20dp"
android:gravity="center"
android:text="首页"
android:textColor="@color/normal_color"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_person"
android:layout_width="50dp"
android:layout_height="50dp"
android:gravity="center_horizontal"
android:orientation="vertical"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/ll_home">
<ImageView
android:id="@+id/iv_person"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginVertical="5dp"
android:src="@mipmap/icon_personal_normal" />
<TextView
android:id="@+id/tv_person"
android:layout_width="50dp"
android:layout_height="20dp"
android:gravity="center"
android:text="我的"
android:textColor="@color/normal_color"
android:textSize="12sp" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<com.police.union.widget.WaterMarkView
android:id="@+id/wm_wm"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
android:singleLine="false"
app:water_mark_align="CENTER"
app:water_mark_degree="-30"
app:water_mark_dx="100px"
app:water_mark_dy="240px"
app:water_mark_sync="true"
app:water_mark_text="实战赋能"
app:water_mark_textBold="false"
app:water_mark_textColor="@color/water_color"
app:water_mark_textSize="30px" />
</RelativeLayout>

View File

@ -0,0 +1,82 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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:background="#f7f7f7"
android:fitsSystemWindows="true"
tools:context=".home.activity.PoliceEmergencyDetailActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_back"
android:layout_width="48dp"
android:layout_height="48dp"
android:padding="15dp"
android:src="@mipmap/back" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="警情详情"
android:textColor="@color/black"
android:textSize="15sp" />
</RelativeLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
android:scrollbars="none">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<include
android:id="@+id/include_base_info"
layout="@layout/include_police_emergency_detail_base_info" />
<include
android:id="@+id/include_person_info"
layout="@layout/include_police_emergency_detail_person_info" />
<include
android:id="@+id/include_cjya_info"
android:visibility="gone"
layout="@layout/include_police_emergency_detail_cjya_info" />
<include
android:id="@+id/include_query_info"
layout="@layout/include_police_emergency_detail_query_info" />
<include
android:id="@+id/include_apply_info"
layout="@layout/include_police_emergency_detail_apply_info" />
</LinearLayout>
</ScrollView>
<com.police.union.widget.WaterMarkView
android:id="@+id/wm"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp"
android:singleLine="false"
app:water_mark_align="CENTER"
app:water_mark_degree="-30"
app:water_mark_dx="100px"
app:water_mark_dy="240px"
app:water_mark_sync="true"
app:water_mark_text="实战赋能"
app:water_mark_textBold="false"
app:water_mark_textColor="@color/water_color"
app:water_mark_textSize="30px" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".home.activity.QueryApplyResultActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
app:layout_constraintTop_toTopOf="parent">
<ImageView
android:id="@+id/iv_back"
android:layout_width="50dp"
android:layout_height="50dp"
android:padding="16dp"
android:src="@mipmap/back" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="赋能结果"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
<!-- 这里放置你的RecyclerView或其他需要刷新的布局 -->
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mine_rv_group"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="50dp" />
<RelativeLayout
android:id="@+id/rl_loading"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone">
<ProgressBar
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_centerInParent="true" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/all_15_fff_bg"
android:padding="10dp">
<TextView
android:id="@+id/tv_dialog_title"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:text="选择部门"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rcv"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginTop="40dp"
android:layout_marginBottom="10dp"
android:paddingBottom="10dp"
android:verticalSpacing="8dp" />
<TextView
android:id="@+id/tv_enter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/rcv"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp"
android:background="@drawable/all_7_main_bg"
android:paddingHorizontal="30dp"
android:paddingVertical="10dp"
android:text="确定"
android:textColor="@color/white"
android:textSize="18sp" />
</RelativeLayout>

View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/all_15_fff_bg"
android:padding="10dp">
<TextView
android:id="@+id/tv_dialog_title"
android:layout_width="match_parent"
android:layout_height="40dp"
android:gravity="center"
android:text="选择部门"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/rcv"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginTop="40dp"
android:paddingBottom="10dp"
android:verticalSpacing="8dp" />
</RelativeLayout>

View File

@ -0,0 +1,31 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dp"
android:layout_height="80dp"
android:orientation="vertical"
android:background="@drawable/all_3_ccc_bg">
<TextView
android:id="@+id/textView1"
android:layout_width="100dp"
android:layout_height="40dp"
android:text="姓名"
android:gravity="center"
android:background="@color/white"
android:textSize="16sp"
android:clickable="true"
android:focusable="true"/>
<TextView
android:id="@+id/textView2"
android:layout_width="100dp"
android:layout_height="40dp"
android:text="身份证号"
android:background="@color/white"
android:gravity="center"
android:textSize="16sp"
android:clickable="true"
android:focusable="true"/>
<!-- 可以添加更多菜单项 -->
</LinearLayout>

View File

@ -0,0 +1,41 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dp"
android:layout_height="80dp"
android:background="@drawable/all_3_ccc_bg"
android:orientation="vertical">
<TextView
android:id="@+id/textView3"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="警情编号"
android:textSize="16sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="报警内容"
android:textSize="16sp" />
<TextView
android:id="@+id/textView5"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="报警电话"
android:textSize="16sp" />
<!-- 可以添加更多菜单项 -->
</LinearLayout>

View File

@ -0,0 +1,52 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="100dp"
android:layout_height="80dp"
android:background="@drawable/all_3_ccc_bg"
android:orientation="vertical">
<TextView
android:id="@+id/textView6"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="案件编号"
android:textSize="16sp" />
<TextView
android:id="@+id/textView7"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="案件名称"
android:textSize="16sp" />
<TextView
android:id="@+id/textView8"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="嫌疑人姓名"
android:textSize="16sp" />
<TextView
android:id="@+id/textView9"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center"
android:text="受害人姓名"
android:textSize="16sp" />
<!-- 可以添加更多菜单项 -->
</LinearLayout>

View File

@ -0,0 +1,77 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/all_7_line_ccc_bg"
android:paddingHorizontal="15dp"
android:paddingVertical="2dp"
android:id="@+id/ll_apply_type_group"
android:orientation="vertical">
<!-- <TextView-->
<!-- android:id="@+id/textView1"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:background="@color/white"-->
<!-- android:clickable="true"-->
<!-- android:focusable="true"-->
<!-- android:gravity="center_vertical"-->
<!-- android:text="处置警情"-->
<!-- android:textSize="16sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/textView2"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:background="@color/white"-->
<!-- android:clickable="true"-->
<!-- android:gravity="center_vertical"-->
<!-- android:focusable="true"-->
<!-- android:text="处置案情"-->
<!-- android:textSize="16sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/textView3"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:background="@color/white"-->
<!-- android:clickable="true"-->
<!-- android:focusable="true"-->
<!-- android:gravity="center_vertical"-->
<!-- android:text="管控重点人"-->
<!-- android:textSize="16sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/textView4"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:background="@color/white"-->
<!-- android:clickable="true"-->
<!-- android:focusable="true"-->
<!-- android:gravity="center_vertical"-->
<!-- android:text="追踪逃犯"-->
<!-- android:textSize="16sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/textView5"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:background="@color/white"-->
<!-- android:clickable="true"-->
<!-- android:focusable="true"-->
<!-- android:gravity="center_vertical"-->
<!-- android:text="核查线索"-->
<!-- android:textSize="16sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/textView6"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:background="@color/white"-->
<!-- android:clickable="true"-->
<!-- android:focusable="true"-->
<!-- android:gravity="center_vertical"-->
<!-- android:text="核验信息"-->
<!-- android:textSize="16sp" />-->
<!-- &lt;!&ndash; 可以添加更多菜单项 &ndash;&gt;-->
</LinearLayout>

View File

@ -0,0 +1,66 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/all_7_line_ccc_bg"
android:orientation="vertical"
android:paddingHorizontal="15dp"
android:paddingVertical="2dp">
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:text="赋能编码"
android:textSize="16sp" />
<TextView
android:id="@+id/textView2"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:text="申请事由"
android:textSize="16sp" />
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:text="申请时间"
android:textSize="16sp" />
<TextView
android:id="@+id/textView4"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:text="信息来源"
android:textSize="16sp" />
<TextView
android:id="@+id/textView5"
android:layout_width="match_parent"
android:layout_height="40dp"
android:background="@color/white"
android:clickable="true"
android:focusable="true"
android:gravity="center_vertical"
android:text="办理状态"
android:textSize="16sp" />
<!-- 可以添加更多菜单项 -->
</LinearLayout>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/white_top_20_bg"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="25dp"
android:layout_marginTop="18dp"
android:text="群聊"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>

View File

@ -0,0 +1,289 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/f7f7f7_top_20_bg"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="25dp"
android:layout_marginTop="18dp"
android:text="警务协同"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="15dp"
android:background="@color/white"
android:orientation="vertical"
android:padding="15dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="10dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="72dp"
android:layout_marginHorizontal="10dp"
android:layout_weight="1"
android:background="@drawable/f9e2e2_10_bg"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="22dp"
android:src="@mipmap/icon_jq" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="警情协同"
android:textColor="#B65656"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="72dp"
android:layout_marginHorizontal="10dp"
android:layout_weight="1"
android:background="@drawable/fbe5ca_10_bg"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="22dp"
android:src="@mipmap/icon_aj" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="案件协同"
android:textColor="#82613B"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingVertical="10dp">
<LinearLayout
android:layout_width="0dp"
android:layout_height="72dp"
android:layout_marginHorizontal="10dp"
android:layout_weight="1"
android:background="@drawable/f7eab6_10_bg"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="22dp"
android:src="@mipmap/icon_yj" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="应急协同"
android:textColor="#82613B"
android:textSize="16sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="72dp"
android:layout_marginHorizontal="10dp"
android:layout_weight="1"
android:background="@drawable/b6f7e9_10_bg"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="22dp"
android:src="@mipmap/icon_yq" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="舆情协同"
android:textColor="#2A8C4E"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="30dp"
android:background="@color/white"
android:orientation="vertical"
android:padding="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="其他功能"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:src="@mipmap/icon_fnsq" />
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_gravity="center_horizontal"
android:text="赋能申请"
android:textColor="@color/color_9e9fa1"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_data"
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:src="@mipmap/icon_sjtc" />
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_gravity="center_horizontal"
android:text="数据套餐"
android:textColor="@color/color_9e9fa1"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:src="@mipmap/icon_xssp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_gravity="center_horizontal"
android:text="线上审批"
android:textColor="@color/color_9e9fa1"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:src="@mipmap/icon_xjxc" />
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_gravity="center_horizontal"
android:text="献计献策"
android:textColor="@color/color_9e9fa1"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal"
android:weightSum="4">
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:src="@mipmap/icon_ycyj" />
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_gravity="center_horizontal"
android:text="异常预警"
android:textColor="@color/color_9e9fa1"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="55dp"
android:layout_weight="1"
android:orientation="vertical">
<ImageView
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_horizontal"
android:src="@mipmap/icon_wdfn" />
<TextView
android:layout_width="wrap_content"
android:layout_height="20dp"
android:layout_gravity="center_horizontal"
android:text="我的赋能"
android:textColor="@color/color_9e9fa1"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>

View File

@ -0,0 +1,149 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/f7f7f7_top_20_bg"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="25dp"
android:layout_marginTop="18dp"
android:text="个人中心"
android:textColor="@color/black"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginHorizontal="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="姓名"
android:textColor="@color/black"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_user_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="30dp"
android:text="林毓庆"
android:textColor="@color/color_999"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginHorizontal="10dp"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:text="手机号码"
android:textColor="@color/black"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_user_phone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:text="13888888888"
android:textColor="@color/color_999"
android:textSize="14sp" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginHorizontal="10dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginStart="15dp"
android:gravity="center_vertical"
android:text="是否是协同岗"
android:textColor="@color/black"
android:textSize="16sp" />
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:orientation="horizontal"
android:paddingHorizontal="15dp">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="否" />
<RadioButton
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="是" />
</RadioGroup>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginHorizontal="10dp">
<TextView
android:id="@+id/tv_unit_org"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="15dp"
android:text="所属单位"
android:textColor="@color/black"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_user_org"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="10dp"
android:layout_toRightOf="@id/tv_unit_org"
android:text="二道区公安分局"
android:textColor="@color/color_999"
android:textSize="14sp" />
<ImageView
android:id="@+id/iv_mine_query"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:padding="12dp"
android:src="@mipmap/icon_query" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="10dp"
android:layout_toLeftOf="@id/iv_mine_query"
android:background="@drawable/border_f7933b_6_bg"
android:paddingHorizontal="7dp"
android:paddingVertical="2dp"
android:text="审批中"
android:textColor="@color/color_F7933B"
android:textSize="12sp" />
</RelativeLayout>
</LinearLayout>

View File

@ -0,0 +1,108 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:background="#f7f7f7"
android:fitsSystemWindows="true">
<ImageView
android:id="@+id/iv_self_query_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="13dp"
android:layout_marginTop="23dp"
android:background="@drawable/all_2_de7900_bg"
android:padding="2dp"
android:src="@mipmap/icon_14"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="申请支援"
android:textColor="#DE7900"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv_self_query_icon"
app:layout_constraintLeft_toRightOf="@id/iv_self_query_icon"
app:layout_constraintTop_toTopOf="@id/iv_self_query_icon" />
<RelativeLayout
android:id="@+id/cl_self_query_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/all_7_fff_bg"
android:padding="13dp"
app:layout_constraintTop_toBottomOf="@id/iv_self_query_icon">
<TextView
android:id="@+id/tv_make_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:background="@drawable/all_7_main_bg"
android:paddingHorizontal="15dp"
android:paddingVertical="10dp"
android:text="电话支援 660110"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_go_apply"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_make_call"
android:layout_marginStart="17dp"
android:layout_marginTop="20dp"
android:background="@drawable/all_7_de7900_bg"
android:paddingVertical="10dp"
android:paddingStart="40dp"
android:paddingEnd="15dp"
android:text="填写工单"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignLeft="@id/tv_go_apply"
android:layout_alignTop="@id/tv_go_apply"
android:layout_alignBottom="@id/tv_go_apply"
android:layout_marginStart="10dp"
android:padding="6dp"
android:src="@mipmap/icon_14" />
<TextView
android:id="@+id/tv_query_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/tv_make_call"
android:layout_alignParentRight="true"
android:layout_marginTop="20dp"
android:background="@drawable/all_7_4b8e01_bg"
android:paddingVertical="10dp"
android:paddingStart="40dp"
android:paddingEnd="15dp"
android:text="查看结果"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
<ImageView
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignLeft="@id/tv_query_result"
android:layout_alignTop="@id/tv_query_result"
android:layout_alignBottom="@id/tv_query_result"
android:layout_marginStart="10dp"
android:padding="2dp"
android:src="@mipmap/icon_apply_detail_query" />
</RelativeLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,273 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content">
<ImageView
android:id="@+id/iv_person_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="13dp"
android:layout_marginTop="14dp"
android:background="@drawable/all_2_selected_bg"
android:padding="2dp"
android:src="@mipmap/baojing"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="警情信息"
android:textColor="#FF052EBA"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv_person_icon"
app:layout_constraintLeft_toRightOf="@id/iv_person_icon"
app:layout_constraintTop_toTopOf="@id/iv_person_icon" />
<LinearLayout
android:id="@+id/ll_location_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/all_7_fff_bg"
android:orientation="vertical"
android:padding="13dp"
app:layout_constraintTop_toBottomOf="@id/iv_person_icon">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="警情编号:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_jcjbh"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="报警内容:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_bjjyqk"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="处理类型:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_cllb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:textColor="#333"
android:textSize="14sp"
tools:text="报警或求助" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="处理结果:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_cljg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:textColor="#333"
android:textSize="14sp"
tools:text="其它" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="警情类别:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_jqlb"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:textColor="#333"
android:textSize="14sp"
tools:text="求助" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="报警电话:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_bjrlxdh"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="报警时间:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_jjsj"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="报警位置:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_asjfsdddzmc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="出警单位:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_cjdwgajgjgdm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="出警民警:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_cjrxm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:background="#f7f7f7"
android:fitsSystemWindows="true">
<ImageView
android:id="@+id/iv_location_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="13dp"
android:layout_marginTop="23dp"
android:background="@drawable/all_2_4b8e01_bg"
android:padding="2dp"
android:src="@mipmap/icon_czya"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="处警预案"
android:textColor="#4B8E01"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv_location_icon"
app:layout_constraintLeft_toRightOf="@id/iv_location_icon"
app:layout_constraintTop_toTopOf="@id/iv_location_icon" />
<LinearLayout
android:id="@+id/cl_base_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/all_7_fff_bg"
android:orientation="horizontal"
android:padding="13dp"
app:layout_constraintTop_toBottomOf="@id/iv_location_icon">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="预案内容:"
android:textColor="#999999"
android:textSize="14sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:textColor="#333333"
android:textSize="14sp"
tools:text="预案内容" />
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,268 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:background="#f7f7f7">
<ImageView
android:id="@+id/iv_location_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="13dp"
android:layout_marginTop="23dp"
android:background="@drawable/all_2_de7900_bg"
android:padding="2dp"
android:src="@mipmap/person"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="报警电话登记人信息(仅供参考)"
android:textColor="#de7900"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv_location_icon"
app:layout_constraintLeft_toRightOf="@id/iv_location_icon"
app:layout_constraintTop_toTopOf="@id/iv_location_icon" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_base_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/all_7_fff_bg"
android:padding="13dp"
app:layout_constraintTop_toBottomOf="@id/iv_location_icon">
<ImageView
android:id="@+id/iv_zp"
android:layout_width="47dp"
android:layout_height="57dp"
android:background="#FFE5E5E5"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_xm"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:text="张三"
android:textColor="#FF333333"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintLeft_toRightOf="@id/iv_zp"
app:layout_constraintTop_toTopOf="@id/iv_zp" />
<TextView
android:id="@+id/tv_gang"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="/"
android:textColor="#FF333333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_xm"
app:layout_constraintTop_toTopOf="@id/tv_xm" />
<TextView
android:id="@+id/tv_xb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="男"
android:textColor="#FF333333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_gang"
app:layout_constraintTop_toTopOf="@id/tv_gang" />
<TextView
android:id="@+id/tv_mz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:layout_marginBottom="5dp"
android:background="@drawable/all_3_ccc_bg"
android:paddingHorizontal="5dp"
android:paddingVertical="1dp"
android:text="汉族"
android:textColor="#333333"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="@id/iv_zp"
app:layout_constraintLeft_toRightOf="@id/iv_zp" />
<TextView
android:id="@+id/tv_hyzk"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:layout_marginBottom="5dp"
android:background="@drawable/all_3_ccc_bg"
android:paddingHorizontal="5dp"
android:paddingVertical="1dp"
android:textColor="#333333"
android:textSize="13sp"
app:layout_constraintBottom_toBottomOf="@id/iv_zp"
app:layout_constraintLeft_toRightOf="@id/tv_mz"
tools:text="已婚" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:orientation="vertical"
app:layout_constraintTop_toBottomOf="@id/iv_zp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/tv_link_address">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="身份证号:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_sfzh"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/tv_link_address">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="年龄:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_nl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/tv_link_address">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="标签:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_bq"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/tv_link_address">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="籍贯:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_jg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/tv_link_address">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="服务场所:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_fwcs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="无"
android:textColor="#333"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginVertical="5dp"
android:orientation="horizontal"
app:layout_constraintTop_toBottomOf="@id/tv_link_address">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="历史报警次数:"
android:textColor="#999"
android:textSize="14sp" />
<TextView
android:id="@+id/tv_lsbjcs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="0"
android:textColor="#F00"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,154 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:background="#f7f7f7"
android:fitsSystemWindows="true">
<ImageView
android:id="@+id/iv_self_query_icon"
android:layout_width="16dp"
android:layout_height="16dp"
android:layout_marginStart="13dp"
android:layout_marginTop="23dp"
android:background="@drawable/all_2_selected_bg"
android:padding="1dp"
android:src="@mipmap/icon_query"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="7dp"
android:text="自助查询"
android:textColor="@color/main_color"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv_self_query_icon"
app:layout_constraintLeft_toRightOf="@id/iv_self_query_icon"
app:layout_constraintTop_toTopOf="@id/iv_self_query_icon" />
<LinearLayout
android:id="@+id/cl_self_query_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginTop="8dp"
android:background="@drawable/all_7_fff_bg"
android:orientation="vertical"
android:padding="13dp"
app:layout_constraintTop_toBottomOf="@id/iv_self_query_icon">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/tv_query_type_1"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginEnd="10dp"
android:layout_weight="1"
android:background="@drawable/all_7_main_bg"
android:gravity="center"
android:text="身份证号查询车牌号"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_query_type_2"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:layout_weight="1"
android:background="@drawable/all_7_999_border_bg"
android:gravity="center"
android:text="车牌号查询手机号"
android:textColor="@color/color_999"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:id="@+id/tv_query_type_3"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginTop="15dp"
android:layout_weight="1"
android:background="@drawable/all_7_999_border_bg"
android:gravity="center"
android:paddingHorizontal="15dp"
android:text="手机号查询身份证号"
android:textColor="@color/color_999"
android:textSize="16sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:text="查询条件:"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<EditText
android:id="@+id/et_input"
android:layout_width="0dp"
android:layout_height="match_parent"
android:textColor="@color/main_color"
android:layout_weight="1"
android:textSize="14sp"
android:background="@drawable/all_7_999_bottom_border_bg"
android:maxLines="1" />
<TextView
android:id="@+id/tv_query_btn"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:background="@drawable/all_7_main_bg"
android:gravity="center"
android:paddingHorizontal="20dp"
android:text="查询"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="查询结果:"
android:textColor="@color/color_333"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv_query_result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:textColor="#ed7900"
android:textSize="16sp"
android:textStyle="bold"
tools:text="吉A23H14" />
</LinearLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,148 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:background="@drawable/all_7_fff_bg"
android:padding="10dp">
<TextView
android:id="@+id/tv_my_key_person"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="警员编号:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<EditText
android:id="@+id/tv_search_title"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="987645561321312313" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/tv_my_key_person"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="查询内容:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<EditText
android:id="@+id/et_query_body"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_below="@id/tv_my_key_person"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="top"
android:maxLines="50"
android:paddingHorizontal="10dp"
android:paddingVertical="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="987645561321312313" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/et_query_body"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="归属部门:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_query_org"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/et_query_body"
android:layout_centerVertical="true"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="二道区公安分局" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignTop="@id/tv_query_org"
android:layout_alignRight="@id/tv_query_org"
android:background="@drawable/right_7_052eba_bg"
android:padding="7dp"
android:src="@mipmap/icon_query" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/tv_query_org"
android:layout_marginTop="10dp"
android:layout_toLeftOf="@id/tv_query_name"
android:gravity="center"
android:text="审批人:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_query_name"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/tv_query_org"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="李大国" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignTop="@id/tv_query_name"
android:layout_alignRight="@id/tv_query_name"
android:background="@drawable/right_7_052eba_bg"
android:padding="7dp"
android:src="@mipmap/icon_query" />
<TextView
android:id="@+id/tv_commit_btn"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_below="@id/tv_query_name"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:background="@drawable/all_7_main_bg"
android:gravity="center"
android:text="提交"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>

View File

@ -0,0 +1,185 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:background="@drawable/all_7_fff_bg"
android:padding="10dp">
<TextView
android:id="@+id/tv_my_key_person"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:text="警情编号:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<TextView
android:id="@+id/et_search_title"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginStart="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="987645561321312313" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/tv_my_key_person"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="查询内容:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<EditText
android:id="@+id/et_query_body"
android:layout_width="match_parent"
android:layout_height="250dp"
android:layout_below="@id/tv_my_key_person"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="top"
android:maxLines="50"
android:paddingHorizontal="10dp"
android:paddingVertical="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="987645561321312313" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/et_query_body"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="归属部门:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_query_org"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/et_query_body"
android:layout_centerVertical="true"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="二道区公安分局" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignTop="@id/tv_query_org"
android:layout_alignRight="@id/tv_query_org"
android:background="@drawable/right_7_052eba_bg"
android:padding="7dp"
android:src="@mipmap/icon_query" />
<TextView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_below="@id/tv_query_org"
android:layout_marginTop="10dp"
android:layout_toLeftOf="@id/tv_query_name"
android:gravity="center"
android:text="审批人:"
android:textColor="@color/normal_color"
android:textSize="16sp" />
<TextView
android:id="@+id/tv_query_name"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/tv_query_org"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:layout_toRightOf="@id/tv_my_key_person"
android:background="@drawable/all_7_line_ccc_bg"
android:gravity="center_vertical"
android:maxLines="1"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
tools:text="李大国" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignTop="@id/tv_query_name"
android:layout_alignRight="@id/tv_query_name"
android:background="@drawable/right_7_052eba_bg"
android:padding="7dp"
android:src="@mipmap/icon_query" />
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_below="@id/tv_query_name"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:layout_toLeftOf="@id/tv_query_name"-->
<!-- android:gravity="center"-->
<!-- android:text="图片:"-->
<!-- android:textColor="@color/normal_color"-->
<!-- android:textSize="16sp" />-->
<!-- <TextView-->
<!-- android:id="@+id/tv_query_name2"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_below="@id/tv_query_name"-->
<!-- android:layout_centerVertical="true"-->
<!-- android:layout_marginLeft="10dp"-->
<!-- android:layout_marginTop="10dp"-->
<!-- android:layout_toRightOf="@id/tv_my_key_person"-->
<!-- android:background="@drawable/all_7_line_ccc_bg"-->
<!-- android:gravity="center_vertical"-->
<!-- android:maxLines="1"-->
<!-- android:paddingHorizontal="10dp"-->
<!-- android:textColor="@color/color_666"-->
<!-- android:textSize="16sp"-->
<!-- tools:text="image" />-->
<!-- <ImageView-->
<!-- android:layout_width="40dp"-->
<!-- android:layout_height="40dp"-->
<!-- android:layout_alignTop="@id/tv_query_name2"-->
<!-- android:layout_alignRight="@id/tv_query_name2"-->
<!-- android:background="@drawable/right_7_052eba_bg"-->
<!-- android:padding="7dp"-->
<!-- android:src="@mipmap/icon_query" />-->
<TextView
android:id="@+id/tv_commit_btn"
android:layout_width="80dp"
android:layout_height="40dp"
android:layout_below="@id/tv_query_name"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:background="@drawable/all_7_main_bg"
android:gravity="center"
android:text="提交"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
</RelativeLayout>

View File

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/all_7_fff_bg"
android:padding="10dp">
<TextView
android:id="@+id/tv_item_text"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:gravity="center"
android:textColor="@color/normal_color"
android:textSize="16sp"
tools:text="item内容" />
</RelativeLayout>

View File

@ -0,0 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp"
android:background="@drawable/all_7_fff_bg"
android:paddingEnd="10dp"
android:paddingBottom="10dp">
<ImageView
android:id="@+id/iv_photo"
android:layout_width="50dp"
android:layout_height="57dp"
android:layout_marginStart="13dp"
android:layout_marginTop="15dp"
android:src="@mipmap/photo"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:layout_marginTop="15dp"
android:textColor="#333"
android:textSize="15sp"
app:layout_constraintLeft_toRightOf="@id/iv_photo"
app:layout_constraintTop_toTopOf="parent"
tools:text="张三" />
<TextView
android:id="@+id/item_sfzh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:layout_marginTop="15dp"
android:textColor="#666"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/iv_photo"
app:layout_constraintLeft_toRightOf="@id/iv_photo"
tools:text="220181187609124532" />
<TextView
android:id="@+id/tv_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="15dp"
android:text="管理级别:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_photo" />
<TextView
android:id="@+id/item_gklb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="15dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_level"
app:layout_constraintTop_toBottomOf="@id/iv_photo"
tools:text="A级" />
<TextView
android:id="@+id/tv_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="7dp"
android:text="列管类别:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_level" />
<TextView
android:id="@+id/item_qtlb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_type"
app:layout_constraintTop_toBottomOf="@id/tv_level"
tools:text="区域协查人员" />
<TextView
android:id="@+id/tv_police"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="7dp"
android:text="负责民警:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_type" />
<TextView
android:id="@+id/item_zrmj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:ellipsize="end"
android:lines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_police"
app:layout_constraintTop_toBottomOf="@id/tv_type"
tools:text="李大国" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

View File

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginVertical="5dp"
android:background="@drawable/all_7_fff_bg"
android:padding="10dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/main_color"
android:textSize="14sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:text="查看详情" />
<TextView
android:id="@+id/tv_title_fnbh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/main_color"
android:textSize="15sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:text="赋能编号:" />
<TextView
android:id="@+id/tv_fnbh"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/main_color"
android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="@id/tv_title_fnbh"
app:layout_constraintLeft_toRightOf="@id/tv_title_fnbh"
app:layout_constraintTop_toTopOf="parent"
tools:text="220181187609124532" />
<TextView
android:id="@+id/tv_title_sqsy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:text="申请事由:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title_fnbh" />
<TextView
android:id="@+id/tv_sqsy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_title_sqsy"
app:layout_constraintTop_toBottomOf="@id/tv_title_fnbh"
tools:text="处置警情" />
<TextView
android:id="@+id/tv_title_sqsj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="申请时间:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title_sqsy" />
<TextView
android:id="@+id/tv_sqsj"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:ellipsize="end"
android:maxLines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_title_sqsj"
app:layout_constraintTop_toBottomOf="@id/tv_title_sqsy"
tools:text="2024-05-05 101050" />
<TextView
android:id="@+id/tv_title_xxly"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="信息来源:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title_sqsj" />
<TextView
android:id="@+id/tv_xxly"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:ellipsize="end"
android:lines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_title_xxly"
app:layout_constraintTop_toBottomOf="@id/tv_title_sqsj"
tools:text="平常段" />
<TextView
android:id="@+id/tv_title_blzt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="办理状态:"
android:textColor="#999"
android:textSize="14sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_title_xxly" />
<TextView
android:id="@+id/tv_blzt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:ellipsize="end"
android:lines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintStart_toEndOf="@id/tv_title_blzt"
app:layout_constraintTop_toBottomOf="@id/tv_title_xxly"
tools:text="待审批" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

View File

@ -0,0 +1,142 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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="wrap_content">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:layout_marginVertical="5dp"
android:background="@drawable/all_7_fff_bg"
android:padding="10dp">
<TextView
android:id="@+id/tv_police_num_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="80dp"
android:text="警情编号20240125412451236458"
android:textColor="#FF052EBA"
android:textSize="13sp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="80dp"
android:layout_height="wrap_content"
android:gravity="end"
android:text="查看详情"
android:textColor="#FF052EBA"
android:textSize="13sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_police_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:text="报警内容:"
android:textColor="@color/black"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_police_num_title" />
<TextView
android:id="@+id/item_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="12dp"
android:ellipsize="end"
android:lines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_police_content"
app:layout_constraintTop_toBottomOf="@id/tv_police_num_title"
tools:text="在公交车上手机被抢了" />
<TextView
android:id="@+id/tv_police_time_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="报警时间:"
android:textColor="#999"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_police_content" />
<TextView
android:id="@+id/tv_police_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:ellipsize="end"
android:lines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_police_time_title"
app:layout_constraintTop_toBottomOf="@id/tv_police_content"
tools:text="2024-03-12 19:20:10" />
<TextView
android:id="@+id/tv_police_tel_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="报警电话:"
android:textColor="#999"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_police_time" />
<TextView
android:id="@+id/tv_police_tel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:ellipsize="end"
android:lines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_police_tel_title"
app:layout_constraintTop_toBottomOf="@id/tv_police_time"
tools:text="18912349876" />
<TextView
android:id="@+id/tv_police_loc_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:text="报警位置:"
android:textColor="#999"
android:textSize="14sp"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/tv_police_tel" />
<TextView
android:id="@+id/tv_police_loc"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:layout_marginTop="7dp"
android:ellipsize="end"
android:lines="1"
android:textColor="#333"
android:textSize="14sp"
app:layout_constraintLeft_toRightOf="@id/tv_police_loc_title"
app:layout_constraintTop_toBottomOf="@id/tv_police_tel"
tools:text="红旗街,吉林大药房" />
</androidx.constraintlayout.widget.ConstraintLayout>
</FrameLayout>

View File

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingVertical="5dp">
<TextView
android:id="@+id/v_level"
android:layout_width="wrap_content"
android:layout_height="match_parent" />
<ImageView
android:id="@+id/iv_sanjiao"
android:layout_width="20dp"
android:layout_height="20dp"
android:padding="3dp"
android:src="@mipmap/icon_right_sanjiao" />
<ImageView
android:id="@+id/iv_box"
android:layout_width="20dp"
android:layout_height="20dp"
android:padding="3dp"
android:src="@mipmap/icon_unselected" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white"
android:gravity="center_vertical"
android:paddingVertical="4dp"
android:paddingHorizontal="10dp"
android:textColor="@color/color_666"
android:textSize="16sp"
android:textStyle="bold"
tools:text="长春市公安局" />
</LinearLayout>

View File

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<com.police.union.widget.WaterMarkView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 688 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 598 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 949 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Some files were not shown because too many files have changed in this diff Show More