初始提交

This commit is contained in:
coldmint 2022-04-04 22:03:10 +08:00
parent 8764ccabf8
commit 35eb80b9ca
636 changed files with 391294 additions and 108 deletions

108
.gitignore vendored
View File

@ -1,88 +1,50 @@
# Built application files
*.apk
*.aar
*.ap_
*.aab
# These are some examples of commonly ignored file patterns.
# You should customize this list as applicable to your project.
# Learn more about .gitignore:
# https://www.atlassian.com/git/tutorials/saving-changes/gitignore
# Files for the ART/Dalvik VM
*.dex
# Node artifact files
node_modules/
dist/
# Java class files
# Compiled Java class files
*.class
# Generated files
bin/
gen/
out/
# Uncomment the following line in case you need and you don't have the release build type files in your app
# release/
# Compiled Python bytecode
*.py[cod]
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
# Log files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Package files
*.jar
# Android Studio captures folder
captures/
# Maven
target/
dist/
# IntelliJ
*.iml
.idea/workspace.xml
.idea/tasks.xml
.idea/gradle.xml
.idea/assetWizardSettings.xml
.idea/dictionaries
.idea/libraries
# Android Studio 3 in .gitignore file.
.idea/caches
.idea/modules.xml
# Comment next line if keeping position of elements in Navigation Editor is relevant for you
.idea/navEditor.xml
# JetBrains IDE
.idea/
# Keystore files
# Uncomment the following lines if you do not want to check your keystore files in.
#*.jks
#*.keystore
# Unit test reports
TEST*.xml
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
.cxx/
# Generated by MacOS
.DS_Store
# Google Services (e.g. APIs or Firebase)
# google-services.json
# Generated by Windows
Thumbs.db
# Freeline
freeline.py
freeline/
freeline_project_description.json
# Applications
*.app
*.exe
*.war
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
# Large media files
*.mp4
*.tiff
*.avi
*.flv
*.mov
*.wmv
# Version control
vcs.xml
# lint
lint/intermediates/
lint/generated/
lint/outputs/
lint/tmp/
# lint/reports/
# Android Profiling
*.hprof

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

Binary file not shown.

View File

@ -0,0 +1,2 @@
#Mon Feb 07 09:07:18 CST 2022
gradle.version=7.2

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

BIN
.gradle/workspace-id.txt Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1,37 +1,6 @@
# 铁锈助手
# 铁锈助手App开源存储库
#### 介绍
铁锈助手私有存储库
存放铁锈助手源码私有仓库。
未经允许任何人无权拷贝,修改,或构建其泛生版本。
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
版权归属于ColdMint

1
app/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build

120
app/build.gradle Normal file
View File

@ -0,0 +1,120 @@
plugins {
id 'com.android.application'
id 'kotlin-android'
// id "androidx.navigation.safeargs.kotlin"
id 'kotlin-kapt'
}
android {
lintOptions {
baseline file("lint-baseline.xml")
}
signingConfigs {
debug {
storeFile file('keystore\\coldmint_debug.keystore')
storePassword '147258369'
keyPassword '147258369'
keyAlias 'coldmint_debug'
}
release {
storeFile file('keystore\\coldmint_release.keystore')
storePassword '2923268971'
keyPassword '2923268971'
keyAlias 'coldmint'
}
}
compileSdkVersion 32
buildToolsVersion "30.0.3"
defaultConfig {
applicationId "com.coldmint.rust.pro"
minSdkVersion 21
targetSdkVersion 32
versionCode 13
versionName "2.0 Release 6(2022-3-26)"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.debug
}
release {
debuggable false //
buildConfigField "boolean", "LOG_DEBUG", "false" //log
minifyEnabled true //java代码
shrinkResources true//
zipAlignEnabled true//apk对其优化
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
}
}
dependencies {
//
implementation 'com.guolindev.permissionx:permissionx:1.6.1'
implementation "androidx.room:room-runtime:2.4.0"
//Room
annotationProcessor "androidx.room:room-compiler:2.4.0"
kapt "androidx.room:room-compiler:2.4.0"
implementation "dev.rikka.rikkax.preference:simplemenu-preference:1.0.3"
//
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
implementation 'com.gyf.immersionbar:immersionbar-ktx:3.0.0'
// TinyPinyin核心包80KB
implementation 'com.github.promeg:tinypinyin:2.0.3'
implementation 'io.github.youth5201314:banner:2.2.2'
// SDK
// implementation 'com.umeng.umsdk:common:9.4.4'
// implementation 'com.umeng.umsdk:asms:1.4.1'
// implementation 'com.umeng.umsdk:apm:1.5.2'
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'com.github.deano2390:MaterialShowcaseView:1.3.4'
implementation 'com.google.code.gson:gson:2.8.8'
implementation 'com.github.yalantis:ucrop:2.2.6-native'
implementation 'com.kongzue.stacklabel:stacklabelview:1.1.9'
implementation files('libs/editor_0.8.aar')
implementation project(path: ':assistantCoreLibrary')
implementation 'com.afollestad.material-dialogs:bottomsheets:3.3.0'
implementation 'com.afollestad.material-dialogs:input:3.3.0'
implementation 'com.github.bumptech.glide:glide:4.11.0'
implementation 'jp.wasabeef:glide-transformations:4.3.0'
implementation 'com.github.florent37:glidepalette:2.1.2'
implementation 'com.github.QuadFlask:colorpicker:0.0.15'
implementation 'cat.ereza:customactivityoncrash:2.3.0'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'androidx.core:core-splashscreen:1.0.0-beta01'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.5'
implementation 'androidx.preference:preference-ktx:1.1.1'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
}

Binary file not shown.

Binary file not shown.

BIN
app/libs/editor_0.8.aar Normal file

Binary file not shown.

48
app/lint-baseline.xml Normal file
View File

@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<issues format="6" by="lint 7.1.1" type="baseline" client="gradle" dependencies="false" name="AGP (7.1.1)" variant="fatal" version="7.1.1">
<issue
id="ExtraTranslation"
message="&quot;dialog_msg&quot; is translated here but not found in default locale"
errorLine1=" &lt;string name=&quot;dialog_msg&quot;>We need storage permissions to read module lists, edit source files, import and export modules, and so on.&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-en/strings.xml"
line="5"
column="13"/>
</issue>
<issue
id="ExtraTranslation"
message="&quot;dialog_msg&quot; is translated here but not found in default locale"
errorLine1=" &lt;string name=&quot;dialog_msg&quot;>Нам нужно сохранить разрешения на чтение списка модулей, редактирование исходных файлов, импорт модулей экспорта и многое другое&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-ru/strings.xml"
line="5"
column="13"/>
</issue>
<issue
id="ExtraTranslation"
message="&quot;dialog_msg&quot; is translated here but not found in default locale"
errorLine1=" &lt;string name=&quot;dialog_msg&quot;>モジュールリストの読み込み、ソースファイルの編集、モジュールのインポートとエクスポートなどのための保存権限が必要です。&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-ja/strings.xml"
line="6"
column="13"/>
</issue>
<issue
id="ExtraTranslation"
message="&quot;dialog_msg&quot; is translated here but not found in default locale"
errorLine1=" &lt;string name=&quot;dialog_msg&quot;>我們需要存儲權限,用於讀取模組列表,編輯源文件,導入導出模組等等。&lt;/string>"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/values-zh-rTW/strings.xml"
line="6"
column="13"/>
</issue>
</issues>

176306
app/mapping.txt Normal file

File diff suppressed because it is too large Load Diff

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

@ -0,0 +1,63 @@
# 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
#--配置Glide--
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep class * extends com.bumptech.glide.module.AppGlideModule {
<init>(...);
}
-keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
#glide如果你的API级别<=Android API 27 则需要添加 4.6.1
-dontwarn com.bumptech.glide.load.resource.bitmap.VideoDecoder
-dontwarn me.iwf.photopicker.adapter.**
#保留dataBean防止Gson序列化出错
-keep class com.coldmint.rust.core.dataBean.** {
<fields>;
<methods>;
}
#保留dataBase防止Gson序列化出错
-keep class com.coldmint.rust.core.database.** {
<fields>;
<methods>;
}
#保留程序的dataBean
-keep class com.coldmint.rust.pro.databean.**{
<fields>;
<methods>;
}
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="280"
android:propertyName="rotation"
android:valueFrom="180"
android:valueTo="360" />

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="280"
android:propertyName="rotation"
android:valueFrom="0"
android:valueTo="180" />

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/expand_icon">
<target
android:name="expand"
android:animation="@animator/rotation_off" />
</animated-vector>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/expand_icon">
<target
android:name="expand"
android:animation="@animator/rotation_on" />
</animated-vector>

View File

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="200dp"
android:height="200dp"
android:viewportWidth="1024"
android:viewportHeight="1024">
<group
android:name="expand"
android:pivotX="512"
android:pivotY="512">
<path
android:fillColor="#333333"
android:pathData="M508.29,696.77a27.66,27.66 0,0 1,-19.64 -8.13L174.71,374.71a27.77,27.77 0,0 1,39.29 -39.24l313.93,313.88a27.77,27.77 0,0 1,-19.64 47.42" />
<path
android:fillColor="#333333"
android:pathData="M508.29,696.77a27.66,27.66 0,0 1,-19.64 -47.36l321.36,-321.31a27.77,27.77 0,0 1,39.24 39.24l-321.25,321.31a27.88,27.88 0,0 1,-19.7 8.13" />
</group>
</vector>

View File

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108"
android:tint="#F5F5F5">
<group android:scaleX="0.17033143"
android:scaleY="0.17033143"
android:translateX="30.1536"
android:translateY="39.6223">
<group android:translateY="136.82812">
<path android:pathData="M30,-42L30,-17.625Q30,-12.46875,30.390625,-10.125Q30.78125,-7.796875,31.546875,-6.609375Q32.328125,-5.4375,33.65625,-4.6875Q35,-3.9375,38.234375,-3L38.234375,-0L8.78125,-0L8.78125,-3Q13.140625,-4.140625,14.609375,-5.515625Q16.09375,-6.90625,16.546875,-9.453125Q17,-12.015625,17,-17.28125L17,-78.71875Q17,-83.625,16.640625,-85.859375Q16.296875,-88.09375,15.484375,-89.328125Q14.6875,-90.578125,13.34375,-91.328125Q12.015625,-92.078125,8.78125,-93L8.78125,-96L43.421875,-96Q59.78125,-96,67.890625,-90.046875Q76,-84.109375,76,-71.59375Q76,-62,70.703125,-55.28125Q65.421875,-48.578125,54.828125,-44.796875L54.828125,-44.234375Q59.0625,-42.46875,62.078125,-39.15625Q65.109375,-35.859375,68.78125,-28.90625L75.03125,-17.28125Q77.75,-12.171875,79.6875,-9.359375Q81.640625,-6.546875,83.65625,-5.0625Q85.671875,-3.59375,89,-3L89,-0L69.53125,-0Q66.890625,-3.75,64.53125,-8.0625Q62.1875,-12.390625,59.890625,-16.859375L53.796875,-28.6875Q51.015625,-34.0625,49.234375,-36.609375Q47.46875,-39.171875,45.96875,-40.1875Q44.46875,-41.21875,42.765625,-41.609375Q41.0625,-42,37.65625,-42L30,-42ZM30,-89.71875L30,-48L37.953125,-48Q44.0625,-48,47.859375,-48.875Q51.65625,-49.75,54.890625,-52.203125Q58.125,-54.671875,60.0625,-59.0625Q62,-63.453125,62,-69.84375Q62,-76.515625,59.703125,-80.9375Q57.421875,-85.359375,52.78125,-87.671875Q48.140625,-90,40.265625,-90Q33.9375,-90,30,-89.71875Z"
android:fillColor="#F5F5F5"/>
<path android:pathData="M94.125,-67L114,-67L114,-31.15625Q114,-22.921875,114.640625,-18.625Q115.28125,-14.328125,116.546875,-12.140625Q117.828125,-9.953125,120.171875,-8.46875Q122.515625,-7,126.625,-7Q129.3125,-7,131.79688,-8.046875Q134.28125,-9.109375,137.32812,-11.75Q140.375,-14.390625,141.6875,-17.015625Q143,-19.65625,143,-23.125L143,-49.78125Q143,-53.84375,142.78125,-55.890625Q142.57812,-57.953125,142.07812,-59.203125Q141.59375,-60.453125,140.92188,-61.234375Q140.25,-62.015625,139.01562,-62.65625Q137.79688,-63.296875,135.04688,-64L135.04688,-67L155,-67L155,-18.640625Q155,-13.1875,155.20312,-10.78125Q155.42188,-8.375,156.125,-6.953125Q156.82812,-5.546875,158.29688,-4.65625Q159.78125,-3.78125,163.57812,-3L163.57812,0L147.53125,1L143.28125,1L143.70312,-10.515625L142.64062,-10.796875Q136.79688,-4.6875,131.46875,-1.84375Q126.15625,1,120.8125,1Q114.390625,1,110.234375,-1.53125Q106.078125,-4.078125,104.03125,-9.109375Q102,-14.140625,102,-23.296875L102,-49.921875Q102,-55.828125,101.53125,-58.046875Q101.078125,-60.265625,99.78125,-61.5625Q98.484375,-62.875,94.125,-64L94.125,-67Z"
android:fillColor="#F5F5F5"/>
<path android:pathData="M223,-51L216,-51Q214.46875,-55.203125,212.375,-57.609375Q210.29688,-60.03125,207.64062,-61.015625Q205,-62,201.17188,-62Q195.60938,-62,192.29688,-59.453125Q189,-56.921875,189,-52.53125Q189,-49.40625,190.34375,-47.375Q191.6875,-45.34375,194.51562,-43.578125Q197.34375,-41.828125,204.48438,-38.921875Q211.70312,-35.828125,215.625,-33.234375Q219.54688,-30.640625,221.76562,-27.203125Q224,-23.765625,224,-19Q224,-13.453125,222.09375,-9.65625Q220.20312,-5.875,216.76562,-3.484375Q213.32812,-1.109375,208.59375,-0.046875Q203.85938,1,198.25,1Q192.34375,1,186.79688,0.109375Q181.26562,-0.765625,176,-2.1875L176,-17L183,-17Q184.875,-10.6875,188.5625,-7.84375Q192.25,-5,198.71875,-5Q201.21875,-5,203.60938,-5.515625Q206.01562,-6.03125,207.89062,-7.234375Q209.78125,-8.4375,210.89062,-10.5Q212,-12.578125,212,-15.671875Q212,-19.1875,210.57812,-21.390625Q209.17188,-23.59375,206.1875,-25.421875Q203.21875,-27.25,195.70312,-30.34375Q189.25,-32.984375,185.35938,-35.484375Q181.46875,-37.984375,179.23438,-41.390625Q177,-44.796875,177,-49.453125Q177,-55.140625,180.14062,-59.34375Q183.28125,-63.546875,189.20312,-65.765625Q195.125,-68,203.10938,-68Q207.76562,-68,212.09375,-67.53125Q216.4375,-67.0625,223,-65.6875L223,-51Z"
android:fillColor="#F5F5F5"/>
<path android:pathData="M233.59375,-63Q237.10938,-63.640625,239.28125,-65.234375Q241.46875,-66.828125,242.6875,-69Q243.92188,-71.171875,244.625,-74.4375Q245.32812,-77.71875,246.09375,-84L256,-84L256,-67L279,-67L279,-60L256,-60L256,-28.546875Q256,-21.703125,256.57812,-17.640625Q257.15625,-13.578125,258.75,-11.28125Q260.34375,-8.984375,262.35938,-7.984375Q264.39062,-7,267.57812,-7Q270.46875,-7,273,-8.28125Q275.54688,-9.578125,278,-12L281,-8.5Q275.95312,-3.5,271.4375,-1.25Q266.9375,1,262.10938,1Q252.95312,1,248.46875,-4.359375Q244,-9.71875,244,-21.125L244,-60L233.59375,-60L233.59375,-63Z"
android:fillColor="#F5F5F5"/>
</group>
</group>
</vector>

View File

@ -0,0 +1,54 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/appListView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tipView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/load_application" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,22 @@
<?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:gravity="center">
<TextView
android:id="@+id/displayView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unable_open_database"
android:visibility="gone" />
<ExpandableListView
android:layout_gravity="top"
android:id="@+id/expandableListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!--ExpandableListView-->
</LinearLayout>

View File

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_height="match_parent"
android:layout_width="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:padding="15dp">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinput1"
android:layout_height="wrap_content"
android:layout_width="match_parent"
app:counterEnabled="true"
app:counterMaxLength="20">
<com.google.android.material.textfield.TextInputEditText
android:hint="@string/mod_name"
android:maxLines="1"
android:id="@+id/mod_name_edit"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:maxLength="20"
android:inputType="text"
android:imeOptions="actionNext"/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinput2"
android:layout_below="@id/textinput1"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:paddingTop="8dp"
app:counterEnabled="true"
app:counterMaxLength="500">
<com.google.android.material.textfield.TextInputEditText
android:hint="@string/mod_describe"
android:imeOptions="actionDone"
android:inputType="text"
android:id="@+id/mod_describe_edit"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:maxLength="500" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/createbutton"
android:layout_below="@id/textinput2"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/create" />
</RelativeLayout>
</ScrollView>

View File

@ -0,0 +1,135 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="15dp">
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:counterEnabled="true"
app:counterMaxLength="20">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/template_name_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/template_name"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLength="20"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
app:counterEnabled="true"
app:counterMaxLength="500">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/template_describe_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/template_description"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLength="500" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
app:counterEnabled="true"
app:counterMaxLength="20">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/template_developer_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/template_developer"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLength="20" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
app:counterEnabled="true"
app:counterMaxLength="200">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/template_update_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/template_update"
android:imeOptions="actionDone"
android:inputType="textUri"
android:maxLength="200" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
app:counterEnabled="true"
app:counterMaxLength="20">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/template_version_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/template_version_name"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLength="20"
android:text="1.0" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="8dp"
app:counterEnabled="true"
app:counterMaxLength="9">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/template_version_num"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/template_version_num"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="9"
android:text="1" />
</com.google.android.material.textfield.TextInputLayout>
<Button
android:id="@+id/createbutton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/create" />
</LinearLayout>
</ScrollView>

View File

@ -0,0 +1,35 @@
<?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:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/unit_path_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/select_path_button"
android:text="@string/unit_path" />
<Button
android:id="@+id/select_path_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/change_path" />
</RelativeLayout>
<ExpandableListView
android:id="@+id/expandable_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>

View File

@ -0,0 +1,28 @@
<?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:orientation="vertical"
android:id="@+id/rootLayout">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_toLeftOf="@id/updateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/update_database" />
<Button
android:id="@+id/updateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/update_off" />
</RelativeLayout>
</LinearLayout>

View File

@ -0,0 +1,132 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/edit_drawerlayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_Layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
app:tabMode="scrollable"
app:tabTextAppearance="@style/TabLayoutTextStyle">
</com.google.android.material.tabs.TabLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/recyclerview"
android:layout_below="@id/tab_Layout"
android:gravity="center">
<ProgressBar
android:id="@+id/myProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<io.github.rosemoe.editor.widget.CodeEditor
android:id="@+id/codeEditor"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:visibility="invisible"
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="end"
android:background="?android:windowBackground"
android:clickable="true"
android:gravity="center"
android:orientation="vertical">
<ImageView
android:id="@+id/imageview"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/ui_compile" />
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="@string/compilation_prompt"
android:textSize="15dp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/logView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</LinearLayout>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="?android:windowBackground">
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
android:id="@+id/file_swipe"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/file_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/loading_files" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/file_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</LinearLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:src="@mipmap/ui_add"
app:tint="@color/white"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.drawerlayout.widget.DrawerLayout>

View File

@ -0,0 +1,289 @@
<?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:card_view="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</com.google.android.material.appbar.AppBarLayout>
<androidx.core.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardElevation="2dp"
card_view:cardCornerRadius="2dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:orientation="vertical">
<!--模组图标-->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/mod_icon" />
<ImageView
android:id="@+id/iconView"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_margin="8dp"
android:src="@mipmap/ui_image" />
</LinearLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinput1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/mod_name_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/mod_name"
android:imeOptions="actionNext"
android:inputType="text"
android:maxLength="20"
android:maxLines="1" />
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/textinput2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/textinput1"
android:paddingTop="8dp">
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/mod_describe_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/mod_describe"
android:imeOptions="actionDone"
android:inputType="text"
android:maxLength="500" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardElevation="2dp"
card_view:cardCornerRadius="2dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:animateLayoutChanges="true">
<TextView
android:id="@+id/backgroundMusicView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/background_music"
android:textSize="16dp" />
<TextView
android:id="@+id/musicPathView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="未启用" />
<TextView
android:id="@+id/enabledMusic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/backgroundMusicView"
android:layout_marginTop="8dp"
android:text="@string/enabled"
android:textColor="?attr/colorPrimary" />
<TextView
android:id="@+id/addMusic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/enabledMusic"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@id/enabledMusic"
android:text="@string/add"
android:textColor="?attr/colorPrimary" />
<ImageView
android:id="@+id/expandMusicList"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_below="@id/musicPathView"
android:layout_alignBottom="@id/enabledMusic"
android:layout_alignParentRight="true"
android:src="@drawable/expand_icon" />
<LinearLayout
android:id="@+id/musicOperation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/addMusic"
android:orientation="vertical"
android:visibility="gone">
<Switch
android:id="@+id/playExclusively"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/addMusic"
android:layout_marginTop="5dp"
android:text="@string/play_exclusively" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/musicListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp" />
</LinearLayout>
</RelativeLayout>
</androidx.cardview.widget.CardView>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
app:cardElevation="2dp"
card_view:cardCornerRadius="2dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp"
android:animateLayoutChanges="true">
<TextView
android:id="@+id/mapView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/map"
android:textSize="16dp" />
<TextView
android:id="@+id/mapPathView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="未启用" />
<TextView
android:id="@+id/enabledMap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/mapView"
android:layout_marginTop="8dp"
android:text="@string/enabled"
android:textColor="?attr/colorPrimary" />
<TextView
android:id="@+id/addMap"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/enabledMap"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@id/enabledMap"
android:text="@string/add"
android:textColor="?attr/colorPrimary" />
<ImageView
android:id="@+id/expandMapList"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_below="@id/mapPathView"
android:layout_alignBottom="@id/enabledMap"
android:layout_alignParentRight="true"
android:src="@drawable/expand_icon" />
<LinearLayout
android:id="@+id/mapOperation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/addMap"
android:orientation="vertical"
android:visibility="gone">
<Switch
android:id="@+id/addExtraMapsForPathSwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/addMap"
android:layout_marginTop="5dp"
android:text="@string/add_extra_maps" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mapListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp" />
</LinearLayout>
</RelativeLayout>
</androidx.cardview.widget.CardView>
</LinearLayout>
</androidx.core.widget.NestedScrollView>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,63 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/file_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/file_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/loading_files" />
</LinearLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:src="@mipmap/ui_add" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/importer_tip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="@string/import_effor7" />
<Button
android:visibility="gone"
android:id="@+id/ok_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:text="@string/import_name" />
<Button
android:id="@+id/cancel_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:text="@string/dialog_close" />
</LinearLayout>
</ScrollView>

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.drawerlayout.widget.DrawerLayout 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/drawerlayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</com.google.android.material.appbar.AppBarLayout>
<fragment
android:id="@+id/fragemnt"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/main_nav" />
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:layout_marginEnd="24dp"
android:layout_marginBottom="24dp"
android:src="@mipmap/ui_add"
app:tint="@color/white"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:ignore="MissingConstraints" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>
<com.google.android.material.navigation.NavigationView
android:id="@+id/navaiagtion"
android:layout_width="260dp"
android:layout_height="match_parent"
android:layout_gravity="start"
app:headerLayout="@layout/head_layout"
app:menu="@menu/menu_drawer_left" />
</androidx.drawerlayout.widget.DrawerLayout>

View File

@ -0,0 +1,48 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/optimizationButton"
android:layout_alignParentTop="true"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:gravity="center"
android:orientation="vertical">
<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/load_optimized_item"
android:textSize="16dp" />
<ExpandableListView
android:id="@+id/optimizationList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</LinearLayout>
<Button
android:id="@+id/optimizationButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_margin="8dp"
android:text="@string/optimization" />
</RelativeLayout>

View File

@ -0,0 +1,31 @@
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:id="@+id/settings"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,15 @@
<?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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".StartActivity">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher"
android:layout_centerInParent="true"/>
</RelativeLayout>

View File

@ -0,0 +1,32 @@
<?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:orientation="vertical">
<com.google.android.material.tabs.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/action" />
<com.google.android.material.tabs.TabItem
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/attach" />
</com.google.android.material.tabs.TabLayout>
<androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</androidx.viewpager.widget.ViewPager>
</LinearLayout>

View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true">
<LinearLayout
android:id="@+id/root_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/name_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/file_name" />
<EditText
android:id="@+id/file_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_toRightOf="@id/name_view"
android:imeOptions="actionDone"
android:inputType="text" />
</RelativeLayout>
</LinearLayout>
</ScrollView>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:src="@mipmap/ui_complete" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,57 @@
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</com.google.android.material.appbar.AppBarLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
<TextView
android:textSize="16dp"
android:id="@+id/unit_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/loading_units" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/unit_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</LinearLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
android:layout_margin="16dp"
android:src="@mipmap/ui_add" />
</androidx.coordinatorlayout.widget.CoordinatorLayout>

View File

@ -0,0 +1,63 @@
<?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:orientation="vertical"
android:padding="8dp">
<LinearLayout
android:id="@+id/layout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/action_type" />
<Spinner
android:id="@+id/type_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
<LinearLayout
android:id="@+id/layout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/layout1">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/action_name" />
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
<Button
android:id="@+id/close_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/layout2"
android:layout_marginRight="8dp"
android:layout_toLeftOf="@id/save_action"
android:text="@string/dialog_cancel" />
<Button
android:id="@+id/save_action"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/layout2"
android:layout_alignParentRight="true"
android:text="@string/edit_function" />
</RelativeLayout>

View File

@ -0,0 +1,41 @@
<?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:padding="8dp">
<ImageView
android:id="@+id/appIconView"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_centerVertical="true"
android:layout_marginRight="8dp"
android:src="@mipmap/ui_image" />
<TextView
android:id="@+id/appNameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/appIconView"
android:text="app名称"
android:textSize="16dp" />
<TextView
android:id="@+id/appVersionView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/appNameView"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/appIconView"
android:text="版本" />
<TextView
android:id="@+id/packageNameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/appVersionView"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/appIconView"
android:text="包名" />
</RelativeLayout>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mcxtzhang.swipemenulib.SwipeMenuLayout 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:clickable="true"
android:elevation="2dp"
app:ios="false"
app:leftSwipe="true">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="8dp">
<TextView
android:id="@+id/file_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="文件名"
android:textSize="15dp" />
<TextView
android:id="@+id/file_path"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="路径" />
</LinearLayout>
<Button
android:id="@+id/del"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/del_mod" />
</com.mcxtzhang.swipemenulib.SwipeMenuLayout>

View File

@ -0,0 +1,52 @@
<?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:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/icon_tip" />
<ImageView
android:id="@+id/icon_view"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@mipmap/ui_image" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/addFileButton"
android:text="@string/attach_tip" />
<Button
android:id="@+id/addFileButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/add_file" />
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/files_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

View File

@ -0,0 +1,22 @@
<?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:padding="16dp">
<TextView
android:id="@+id/nameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:text="表名"
android:textSize="16dp" />
<TextView
android:id="@+id/numView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="代码数" />
</RelativeLayout>

View File

@ -0,0 +1,58 @@
<?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:padding="16dp">
<TextView
android:id="@+id/titleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="名称"
android:textColor="?attr/colorPrimary"
android:textSize="16dp" />
<TextView
android:id="@+id/subTitleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/titleView"
android:layout_marginLeft="16dp"
android:layout_toRightOf="@id/titleView"
android:text="副标题"
android:textColor="?attr/colorSecondary" />
<TextView
android:id="@+id/descriptionView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/titleView"
android:layout_marginTop="5dp"
android:text="描述" />
<TextView
android:id="@+id/valueTypeView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/descriptionView"
android:layout_marginTop="5dp"
android:text="值类型" />
<TextView
android:id="@+id/versionView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/valueTypeView"
android:layout_marginLeft="8dp"
android:layout_toRightOf="@id/valueTypeView"
android:text="版本信息" />
<com.kongzue.stacklabelview.StackLabel
android:id="@+id/belongStackLabelView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/valueTypeView"
android:layout_marginTop="5dp" />
</RelativeLayout>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/touchView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="8dp">
<TextView
android:id="@+id/codeTextItemView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15dp"
android:text="项目"/>
</LinearLayout>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/database_swipe"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/database_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/not_find_database" />
<ListView
android:id="@+id/database_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</LinearLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

View File

@ -0,0 +1,47 @@
<?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:padding="15dp">
<TextView
android:textColor="@color/green"
android:textSize="16dp"
android:id="@+id/database_name_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="数据库名" />
<TextView
android:textColor="@color/green"
android:layout_marginTop="8dp"
android:textSize="14dp"
android:id="@+id/database_introduce"
android:layout_below="@+id/database_name_view"
android:layout_toLeftOf="@+id/database_use"
android:layout_alignParentLeft="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="简介" />
<TextView
android:textColor="@color/green"
android:id="@+id/database_other"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/database_introduce"
android:layout_marginTop="8dp"
android:text="作者|版本"
android:textSize="14dp" />
<Button
android:id="@+id/database_use"
android:textSize="14dp"
android:layout_alignParentRight="true"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="使用"/>
</RelativeLayout>

View File

@ -0,0 +1,42 @@
<?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="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/delete_unit"
android:textSize="18dp" />
<TextView
android:id="@+id/descriptionView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="@string/delete_unit_text" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="right"
android:orientation="horizontal">
<Button
android:id="@+id/cancelButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/dialog_cancel" />
<Button
android:id="@+id/okButton"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="5dp"
android:text="@string/dialog_ok" />
</LinearLayout>
</LinearLayout>

View File

@ -0,0 +1,44 @@
<?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:padding="8dp"
android:id="@+id/rootLayout">
<ImageView
android:id="@+id/iconView"
android:src="@mipmap/ui_image"
android:layout_width="45dp"
android:layout_height="45dp"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/titleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/iconView"
android:text="标题"
android:textSize="16dp"
android:textColor="@color/blue_500"/>
<TextView
android:textColor="@color/pink_200"
android:id="@+id/subTitleView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/titleView"
android:layout_marginLeft="8dp"
android:layout_toRightOf="@id/titleView"
android:text="副标题"
android:textSize="14dp" />
<TextView
android:id="@+id/contentView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/titleView"
android:layout_toRightOf="@id/iconView"
android:text="内容" />
</RelativeLayout>

View File

@ -0,0 +1,23 @@
<?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">
<TextView
android:id="@+id/name_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="名称"/>
<EditText
android:inputType="text"
android:imeOptions="actionDone"
android:layout_toRightOf="@id/name_view"
android:layout_alignParentRight="true"
android:id="@+id/input_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="80dp"
android:gravity="center_vertical">
<ImageView
android:id="@+id/file_icon"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:layout_width="60dp"
android:layout_height="60dp"
android:src="@mipmap/ui_file"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:textSize="16dp"
android:id="@+id/file_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="文件名"/>
<TextView
android:textSize="14dp"
android:id="@+id/file_time"
android:layout_marginTop="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="创建时间"/>
</LinearLayout>
</androidx.appcompat.widget.LinearLayoutCompat>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/path_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/select_path_button"
android:text="@string/unit_path" />
<Button
android:id="@+id/select_path_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="@string/change_path" />
</RelativeLayout>

View File

@ -0,0 +1,22 @@
<?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="wrap_content"
android:padding="16dp"
android:orientation="vertical"
android:gravity="center_vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textSize="25dp"/>
<TextView
android:id="@+id/subTitleView"
android:layout_marginTop="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="你好,世界!"/>
</LinearLayout>

View File

@ -0,0 +1,33 @@
<?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:orientation="vertical">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/dialog_edit"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right">
<TextView
android:id="@+id/cancel_button_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="@string/dialog_cancel" />
<TextView
android:id="@+id/completion_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:text="@string/dialog_ok" />
</LinearLayout>
</LinearLayout>

View File

@ -0,0 +1,13 @@
<?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="wrap_content"
android:padding="8dp">
<TextView
android:id="@+id/logInfoView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/compilation_prompt" />
</LinearLayout>

View File

@ -0,0 +1,13 @@
<?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="wrap_content">
<TextView
android:id="@+id/file_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:text="文件名" />
</LinearLayout>

View File

@ -0,0 +1,29 @@
<?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:padding="8dp">
<TextView
android:id="@+id/codeView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="代码"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints" />
<Button
android:id="@+id/actionView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/set_action"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,15 @@
<?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="wrap_content"
android:padding="8dp"
android:id="@+id/mod_action_item">
<TextView
android:id="@+id/operation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/mod_tags"
android:textSize="16dp"/>
</LinearLayout>

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/mod_icon"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_margin="8dp"
android:src="@mipmap/ic_launcher" />
<LinearLayout
android:id="@+id/mod_linearlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/mod_name_View"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:text="模组名称"
android:textSize="16dp" />
<TextView
android:id="@+id/mod_name_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:text="介绍"
android:textSize="14dp" />
</LinearLayout>
</LinearLayout>
<ListView
android:id="@+id/mod_action_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mod_swipe"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/mod_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/not_find_game" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/mod_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</LinearLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mcxtzhang.swipemenulib.SwipeMenuLayout 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="88dp"
android:clickable="true"
android:elevation="2dp"
app:ios="false"
app:leftSwipe="true">
<LinearLayout
android:id="@+id/mod_linearlayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center">
<ImageView
android:id="@+id/mod_icon"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_marginLeft="16dp"
android:layout_marginRight="16dp"
android:src="@mipmap/ui_image" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="vertical">
<TextView
android:id="@+id/mod_name_View"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模组名称"
android:textSize="16dp" />
<TextView
android:id="@+id/mod_introduction_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="介绍"
android:textSize="14dp" />
<TextView
android:id="@+id/mod_up_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="更新时间"
android:textSize="14dp" />
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/mod_del"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/del_mod" />
</com.mcxtzhang.swipemenulib.SwipeMenuLayout>

View File

@ -0,0 +1,36 @@
<?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:padding="8dp">
<TextView
android:id="@+id/nameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="16dp"
android:text="优化项目"
android:textSize="16dp" />
<TextView
android:id="@+id/numView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/groupCheckBox"
android:text="@string/filenum" />
<CheckBox
android:id="@+id/groupCheckBox"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_marginLeft="8dp"
android:checked="false"
android:focusable="false"/>
</RelativeLayout>

View File

@ -0,0 +1,36 @@
<?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:padding="8dp">
<TextView
android:id="@+id/nameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dp"
android:text="优化项目"
android:textSize="16dp" />
<TextView
android:id="@+id/descriptionView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/nameView"
android:layout_alignLeft="@id/nameView"
android:layout_marginTop="5dp"
android:layout_toLeftOf="@id/itemCheckBox"
android:text="描述" />
<CheckBox
android:id="@+id/itemCheckBox"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:checked="true" />
</RelativeLayout>

View File

@ -0,0 +1,38 @@
<?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"
android:padding="8dp">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:text="@string/select_template"
android:textSize="15dp" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/title" />
<Button
android:id="@+id/createbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/recyclerview"
android:layout_toLeftOf="@id/saveButton"
android:text="@string/create_template"
android:layout_marginRight="8dp"/>
<Button
android:id="@+id/saveButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/recyclerview"
android:layout_alignParentRight="true"
android:text="@string/edit_function" />
</RelativeLayout>

View File

@ -0,0 +1,13 @@
<?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="wrap_content"
android:orientation="vertical"
android:padding="5dp">
<CheckBox
android:id="@+id/template_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模板名称" />
</LinearLayout>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/template_swipe"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<TextView
android:id="@+id/template_error"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/not_find_template" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/template_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />
</LinearLayout>
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

View File

@ -0,0 +1,24 @@
<?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:padding="16dp">
<TextView
android:id="@+id/template_name"
android:textSize="16dp"
android:layout_alignParentLeft="true"
android:layout_marginLeft="16dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模板名"/>
<TextView
android:id="@+id/template_num"
android:textSize="14dp"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="项目数"/>
</RelativeLayout>

View File

@ -0,0 +1,24 @@
<?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:padding="8dp">
<ImageView
android:id="@+id/template_icon_view"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:src="@mipmap/ui_template" />
<TextView
android:id="@+id/name_view"
android:layout_marginLeft="16dp"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/template_icon_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="14dp"
android:text="模板名称" />
</RelativeLayout>

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mcxtzhang.swipemenulib.SwipeMenuLayout 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:clickable="true"
android:elevation="2dp"
app:ios="false"
app:leftSwipe="true">
<androidx.constraintlayout.widget.ConstraintLayout xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="8dp">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="模板名称"
android:textColor="@color/green"
android:textSize="15dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="MissingConstraints" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="开发者|版本"
android:textColor="@color/green"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="描述(错误信息)"
android:textColor="@color/green"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
</androidx.constraintlayout.widget.ConstraintLayout>
<Button
android:id="@+id/delButton"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/del_mod" />
</com.mcxtzhang.swipemenulib.SwipeMenuLayout>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="utf-8"?>
<com.mcxtzhang.swipemenulib.SwipeMenuLayout 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:clickable="true"
android:elevation="2dp"
app:ios="false"
app:leftSwipe="true">
<LinearLayout
android:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="8dp">
<ImageView
android:id="@+id/iconView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:orientation="vertical">
<TextView
android:id="@+id/unitNameView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="单位名称"
android:textSize="16dp" />
<TextView
android:id="@+id/unitDescribeView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="单位描述" />
<TextView
android:id="@+id/unitTimeView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:text="修改时间" />
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/delButton"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="@string/del_mod" />
</com.mcxtzhang.swipemenulib.SwipeMenuLayout>

View File

@ -0,0 +1,70 @@
<?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="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/unit_search1" />
<EditText
android:id="@+id/unit_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/advanced_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unit_search2" />
<LinearLayout
android:id="@+id/advanced_view"
android:visibility="gone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/rule_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unit_search3" />
<EditText
android:id="@+id/unit_rule_edit"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<com.google.android.material.checkbox.MaterialCheckBox
android:id="@+id/rule_mode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unit_search4" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right">
<Button
android:id="@+id/cancel_button_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="@string/dialog_cancel" />
<Button
android:id="@+id/completion_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:text="@string/dialog_ok" />
</LinearLayout>
</LinearLayout>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/load_system_application"
android:checkable="true"
android:checked="false"
android:title="@string/load_system_application" />
</menu>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/filter_units"
android:title="@string/filter" />
</menu>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/save_action"
android:title="@string/edit_function" />
</menu>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group android:checkableBehavior="single">
<item
android:id="@+id/mod_item"
android:icon="@mipmap/ui_mod"
android:title="@string/menu_title1" />
<item
android:id="@+id/database_item"
android:icon="@mipmap/ui_database"
android:title="@string/menu_title3" />
<item
android:id="@+id/template_item"
android:icon="@mipmap/ui_template"
android:title="@string/template_title" />
</group>
<group android:id="@+id/set_up_group">
<item
android:id="@+id/set_up"
android:icon="@mipmap/ui_set_up"
android:title="@string/set_up" />
</group>
</menu>

View File

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/save_text"
android:icon="@mipmap/ui_save"
android:title="@string/edit_function"
app:showAsAction="always" />
<item
android:id="@+id/code_navigation"
android:title="@string/code_navigation" />
<item
android:id="@+id/open_game_test"
android:title="@string/open_game_test" />
<item
android:id="@+id/show_line_number"
android:checkable="true"
android:checked="true"
android:title="@string/editer_show_line_num" />
<item
android:id="@+id/convertToTemplate"
android:title="@string/convert_template" />
</menu>

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/reloadFile"
android:title="@string/reload_files" />
<item android:title="@string/filter" />
<item
android:id="@+id/new_folder"
android:title="@string/create_folder" />
<item android:title="@string/select_file">
<menu>
<item
android:id="@+id/photo_album"
android:title="@string/photo_album" />
<item
android:id="@+id/system_file_manager"
android:title="@string/system_file_manager" />
</menu>
</item>
</menu>

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/search_units"
android:title="@string/search" />
<item
android:id="@+id/filter_units"
android:title="@string/filter" />
</menu>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@color/ic_launcher_background"/>
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
</adaptive-icon>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

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