头像框,空间特效
This commit is contained in:
parent
8cbb9274e9
commit
e7db8eeedc
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -68,6 +68,7 @@ android {
|
||||||
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
implementation 'com.luolc:emoji-rain:0.1.1'
|
||||||
implementation 'me.zhanghai.android.fastscroll:library:1.1.8'
|
implementation 'me.zhanghai.android.fastscroll:library:1.1.8'
|
||||||
// 语种切换框架:https://github.com/getActivity/MultiLanguages
|
// 语种切换框架:https://github.com/getActivity/MultiLanguages
|
||||||
implementation 'com.github.getActivity:MultiLanguages:8.0'
|
implementation 'com.github.getActivity:MultiLanguages:8.0'
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.coldmint.rust.pro
|
||||||
|
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
|
import android.graphics.Color
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.os.Environment
|
import android.os.Environment
|
||||||
|
@ -31,9 +32,12 @@ import com.coldmint.rust.pro.databinding.ActivityEditModInfoBinding
|
||||||
import com.coldmint.rust.pro.databinding.ActivityEditUserInfoBinding
|
import com.coldmint.rust.pro.databinding.ActivityEditUserInfoBinding
|
||||||
import com.coldmint.rust.pro.tool.AppSettings
|
import com.coldmint.rust.pro.tool.AppSettings
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
import com.coldmint.rust.pro.tool.GlobalMethod
|
||||||
|
import com.flask.colorpicker.ColorPickerView
|
||||||
|
import com.flask.colorpicker.builder.ColorPickerDialogBuilder
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.yalantis.ucrop.UCrop
|
import com.yalantis.ucrop.UCrop
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
import java.lang.System.out
|
||||||
|
|
||||||
class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
lateinit var userId: String
|
lateinit var userId: String
|
||||||
|
@ -84,8 +88,11 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
viewBinding.signatureView.setText(introduce)
|
viewBinding.signatureView.setText(introduce)
|
||||||
val gender = t.data.gender
|
val gender = t.data.gender
|
||||||
if (gender < 0) {
|
if (gender < 0) {
|
||||||
viewBinding.updateSpinner.setSelection(1)
|
viewBinding.sexView.setText(item[1])
|
||||||
|
} else {
|
||||||
|
viewBinding.sexView.setText(item[0])
|
||||||
}
|
}
|
||||||
|
viewBinding.sexView.setSimpleItems(R.array.gender_entries)
|
||||||
viewBinding.button.isVisible = true
|
viewBinding.button.isVisible = true
|
||||||
} else {
|
} else {
|
||||||
viewBinding.progressBar.isVisible = false
|
viewBinding.progressBar.isVisible = false
|
||||||
|
@ -104,6 +111,29 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun initAction() {
|
private fun initAction() {
|
||||||
|
viewBinding.changeColorButton.setOnClickListener {
|
||||||
|
ColorPickerDialogBuilder
|
||||||
|
.with(this)
|
||||||
|
.setTitle(getString(R.string.choose_color))
|
||||||
|
.initialColor(Color.WHITE)
|
||||||
|
.wheelType(ColorPickerView.WHEEL_TYPE.FLOWER)
|
||||||
|
.density(12)
|
||||||
|
.setOnColorSelectedListener {
|
||||||
|
//toast("onColorSelected: 0x" + Integer.toHexString(selectedColor));
|
||||||
|
}
|
||||||
|
.setPositiveButton(R.string.dialog_ok) { dialog, selectedColor, allColors ->
|
||||||
|
GlobalMethod.temColor = selectedColor
|
||||||
|
if (iconLink != null) {
|
||||||
|
Glide.with(this@EditUserInfoActivity)
|
||||||
|
.load(iconLink)
|
||||||
|
.apply(GlobalMethod.getRequestOptions(true, !GlobalMethod.isActive))
|
||||||
|
.into(viewBinding.iconView)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.setNegativeButton(R.string.dialog_cancel) { dialog, which -> }
|
||||||
|
.build()
|
||||||
|
.show()
|
||||||
|
}
|
||||||
viewBinding.userNameView.addTextChangedListener(object : TextWatcher {
|
viewBinding.userNameView.addTextChangedListener(object : TextWatcher {
|
||||||
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
|
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
|
||||||
|
|
||||||
|
@ -234,8 +264,7 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
getString(R.string.edit_function) -> {
|
getString(R.string.edit_function) -> {
|
||||||
val userName = viewBinding.userNameView.text.toString()
|
val userName = viewBinding.userNameView.text.toString()
|
||||||
val introduce = viewBinding.signatureView.text.toString()
|
val introduce = viewBinding.signatureView.text.toString()
|
||||||
val genderPosition = viewBinding.updateSpinner.selectedItemPosition
|
val genderValue = viewBinding.sexView.text.toString()
|
||||||
val genderValue = item[genderPosition]
|
|
||||||
val boy = getString(R.string.boy)
|
val boy = getString(R.string.boy)
|
||||||
if (!checkUserName(userName)) {
|
if (!checkUserName(userName)) {
|
||||||
return@setOnClickListener
|
return@setOnClickListener
|
||||||
|
@ -248,13 +277,7 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
} else {
|
} else {
|
||||||
-1
|
-1
|
||||||
}
|
}
|
||||||
viewBinding.button.text = getString(R.string.request_data)
|
viewBinding.button.hide()
|
||||||
viewBinding.button.setBackgroundColor(
|
|
||||||
GlobalMethod.getThemeColor(
|
|
||||||
this,
|
|
||||||
R.attr.colorPrimaryVariant
|
|
||||||
)
|
|
||||||
)
|
|
||||||
val token =
|
val token =
|
||||||
AppSettings.getInstance(this).getValue(AppSettings.Setting.Token, "")
|
AppSettings.getInstance(this).getValue(AppSettings.Setting.Token, "")
|
||||||
User.updateSpaceInfo(
|
User.updateSpaceInfo(
|
||||||
|
@ -269,22 +292,7 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
Thread {
|
Thread {
|
||||||
Glide.get(this@EditUserInfoActivity).clearDiskCache()
|
Glide.get(this@EditUserInfoActivity).clearDiskCache()
|
||||||
runOnUiThread {
|
runOnUiThread {
|
||||||
viewBinding.button.text =
|
|
||||||
getString(R.string.edit_function)
|
|
||||||
viewBinding.button.setBackgroundColor(
|
|
||||||
GlobalMethod.getColorPrimary(
|
|
||||||
this@EditUserInfoActivity
|
|
||||||
)
|
|
||||||
)
|
|
||||||
Glide.get(this@EditUserInfoActivity).clearMemory()
|
Glide.get(this@EditUserInfoActivity).clearMemory()
|
||||||
// MaterialDialog(this@EditUserInfoActivity).show {
|
|
||||||
// title(R.string.edit_function).message(R.string.restart_to_take_effect)
|
|
||||||
// .cancelable(false)
|
|
||||||
// .positiveButton(R.string.dialog_ok)
|
|
||||||
// .positiveButton {
|
|
||||||
// finish()
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
}.start()
|
}.start()
|
||||||
|
@ -292,12 +300,7 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
finish()
|
finish()
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
viewBinding.button.text = getString(R.string.edit_function)
|
viewBinding.button.show()
|
||||||
viewBinding.button.setBackgroundColor(
|
|
||||||
GlobalMethod.getColorPrimary(
|
|
||||||
this@EditUserInfoActivity
|
|
||||||
)
|
|
||||||
)
|
|
||||||
val data = t.data
|
val data = t.data
|
||||||
if (data != null && ServerConfiguration.isEvent(data)) {
|
if (data != null && ServerConfiguration.isEvent(data)) {
|
||||||
when (data) {
|
when (data) {
|
||||||
|
@ -320,12 +323,7 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onFailure(e: Exception) {
|
override fun onFailure(e: Exception) {
|
||||||
viewBinding.button.text = getString(R.string.edit_function)
|
viewBinding.button.show()
|
||||||
viewBinding.button.setBackgroundColor(
|
|
||||||
GlobalMethod.getColorPrimary(
|
|
||||||
this@EditUserInfoActivity
|
|
||||||
)
|
|
||||||
)
|
|
||||||
showInternetError(viewBinding.button, e)
|
showInternetError(viewBinding.button, e)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -400,7 +398,7 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
val temLink = ServerConfiguration.getRealLink(link)
|
val temLink = ServerConfiguration.getRealLink(link)
|
||||||
iconLink = temLink
|
iconLink = temLink
|
||||||
Glide.with(this@EditUserInfoActivity)
|
Glide.with(this@EditUserInfoActivity)
|
||||||
.load(temLink).apply(GlobalMethod.getRequestOptions(true))
|
.load(temLink).apply(GlobalMethod.getRequestOptions(true, !GlobalMethod.isActive))
|
||||||
.into(viewBinding.iconView)
|
.into(viewBinding.iconView)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -414,7 +412,7 @@ class EditUserInfoActivity : BaseActivity<ActivityEditUserInfoBinding>() {
|
||||||
val temLink = ServerConfiguration.getRealLink(link)
|
val temLink = ServerConfiguration.getRealLink(link)
|
||||||
coverLink = temLink
|
coverLink = temLink
|
||||||
Glide.with(this@EditUserInfoActivity)
|
Glide.with(this@EditUserInfoActivity)
|
||||||
.load(temLink).apply(GlobalMethod.getRequestOptions())
|
.load(temLink).apply(GlobalMethod.getRequestOptions(grayscale = !GlobalMethod.isActive))
|
||||||
.into(viewBinding.coverView)
|
.into(viewBinding.coverView)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -93,7 +93,13 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||||
viewBinding.navaiagtion.setupWithNavController(navController)
|
viewBinding.navaiagtion.setupWithNavController(navController)
|
||||||
viewBinding.navaiagtion.addHeaderView(headLayout.root)
|
viewBinding.navaiagtion.addHeaderView(headLayout.root)
|
||||||
//actionbar动画
|
//actionbar动画
|
||||||
val actionToggle = ActionBarDrawerToggle(this,viewBinding.drawerlayout,viewBinding.toolbar,R.string.app_name,R.string.app_name)
|
val actionToggle = ActionBarDrawerToggle(
|
||||||
|
this,
|
||||||
|
viewBinding.drawerlayout,
|
||||||
|
viewBinding.toolbar,
|
||||||
|
R.string.app_name,
|
||||||
|
R.string.app_name
|
||||||
|
)
|
||||||
viewBinding.drawerlayout.addDrawerListener(actionToggle)
|
viewBinding.drawerlayout.addDrawerListener(actionToggle)
|
||||||
actionToggle.syncState()
|
actionToggle.syncState()
|
||||||
}
|
}
|
||||||
|
@ -581,8 +587,6 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||||
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
override fun onCreateOptionsMenu(menu: Menu): Boolean {
|
||||||
val inflater = menuInflater
|
val inflater = menuInflater
|
||||||
inflater.inflate(R.menu.menu_main, menu)
|
inflater.inflate(R.menu.menu_main, menu)
|
||||||
// val searchView = menu.findItem(R.id.app_bar_search).actionView as SearchView
|
|
||||||
// initSearchItem(searchView)
|
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -608,12 +612,14 @@ class MainActivity : BaseActivity<ActivityMainBinding>() {
|
||||||
*/
|
*/
|
||||||
fun observeStartViewModel() {
|
fun observeStartViewModel() {
|
||||||
startViewModel.userLiveData.observe(this) {
|
startViewModel.userLiveData.observe(this) {
|
||||||
|
|
||||||
headLayout.nameView.text = it.data.userName
|
headLayout.nameView.text = it.data.userName
|
||||||
headLayout.emailView.text = it.data.email
|
headLayout.emailView.text = it.data.email
|
||||||
val headIcon = it.data.headIcon
|
val headIcon = it.data.headIcon
|
||||||
if (headIcon != null) {
|
if (headIcon != null) {
|
||||||
Glide.with(this).load(ServerConfiguration.getRealLink(headIcon))
|
Glide.with(this).load(ServerConfiguration.getRealLink(headIcon))
|
||||||
.apply(GlobalMethod.getRequestOptions(true)).into(headLayout.imageView)
|
.apply(GlobalMethod.getRequestOptions(true, !it.data.activation))
|
||||||
|
.into(headLayout.imageView)
|
||||||
}
|
}
|
||||||
val account = it.data.account
|
val account = it.data.account
|
||||||
headLayout.root.setOnClickListener {
|
headLayout.root.setOnClickListener {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import android.app.ActivityOptions
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.graphics.Color
|
import android.graphics.Color
|
||||||
|
import android.graphics.drawable.Drawable
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
import android.view.Gravity
|
import android.view.Gravity
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
@ -82,7 +83,17 @@ class UserHomePageActivity : BaseActivity<ActivityUserHomePageBinding>() {
|
||||||
openUserList(userId, false)
|
openUserList(userId, false)
|
||||||
}
|
}
|
||||||
initButton()
|
initButton()
|
||||||
|
// val dlist = ArrayList<Drawable>()
|
||||||
|
// for (i in 1..30) {
|
||||||
|
//// dlist.add(getDrawable(R.drawable.emoji_2_3)!!)
|
||||||
|
// dlist.add(getDrawable(R.drawable.emoji_1_3)!!)
|
||||||
|
// }
|
||||||
|
// viewBinding.bubbleView.setDrawableList(dlist)
|
||||||
|
// viewBinding.bubbleView.startAnimation(5000, 5000,30)
|
||||||
|
viewBinding.emojiRainLayout.addEmoji(R.drawable.emoji_1_3)
|
||||||
|
viewBinding.emojiRainLayout.addEmoji(R.drawable.emoji_2_3)
|
||||||
|
viewBinding.emojiRainLayout.addEmoji(R.drawable.emoji_3_3)
|
||||||
|
viewBinding.emojiRainLayout.startDropping()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,45 +1,36 @@
|
||||||
package com.coldmint.rust.pro.tool
|
package com.coldmint.rust.pro.tool
|
||||||
|
|
||||||
import android.Manifest
|
import android.Manifest
|
||||||
import android.app.Activity
|
|
||||||
import android.os.Environment
|
|
||||||
import android.content.pm.PackageManager
|
|
||||||
import android.content.pm.PackageInfo
|
|
||||||
import android.content.Intent
|
|
||||||
import android.util.TypedValue
|
|
||||||
import com.coldmint.rust.pro.tool.GlobalMethod
|
|
||||||
import com.coldmint.rust.pro.R
|
|
||||||
import android.widget.TextView
|
|
||||||
import android.content.ClipData
|
import android.content.ClipData
|
||||||
import android.content.ClipboardManager
|
import android.content.ClipboardManager
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import com.google.android.material.snackbar.Snackbar
|
|
||||||
import android.graphics.drawable.Drawable
|
|
||||||
import android.content.res.ColorStateList
|
import android.content.res.ColorStateList
|
||||||
|
import android.graphics.Bitmap
|
||||||
|
import android.graphics.Color
|
||||||
import android.graphics.Paint
|
import android.graphics.Paint
|
||||||
import android.net.Uri
|
import android.graphics.drawable.Drawable
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.provider.Settings
|
import android.util.TypedValue
|
||||||
import android.view.View
|
import android.view.View
|
||||||
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.core.graphics.drawable.DrawableCompat
|
import androidx.core.graphics.drawable.DrawableCompat
|
||||||
import androidx.fragment.app.FragmentActivity
|
import androidx.fragment.app.FragmentActivity
|
||||||
import com.afollestad.materialdialogs.MaterialDialog
|
import com.afollestad.materialdialogs.MaterialDialog
|
||||||
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
|
import com.afollestad.materialdialogs.bottomsheets.BottomSheet
|
||||||
import com.bumptech.glide.Glide
|
import com.bumptech.glide.load.MultiTransformation
|
||||||
import com.bumptech.glide.request.RequestOptions
|
import com.bumptech.glide.request.RequestOptions
|
||||||
import com.coldmint.rust.core.dataBean.mod.WebModUpdateLogData
|
import com.coldmint.rust.core.dataBean.mod.WebModUpdateLogData
|
||||||
import com.coldmint.rust.core.interfaces.ApiCallBack
|
import com.coldmint.rust.core.interfaces.ApiCallBack
|
||||||
import com.coldmint.rust.core.web.ServerConfiguration
|
import com.coldmint.rust.core.web.ServerConfiguration
|
||||||
import com.coldmint.rust.core.web.WebMod
|
import com.coldmint.rust.core.web.WebMod
|
||||||
import com.coldmint.rust.pro.MainActivity
|
import com.coldmint.rust.pro.R
|
||||||
|
import com.flask.colorpicker.ColorPickerView
|
||||||
|
import com.flask.colorpicker.builder.ColorPickerDialogBuilder
|
||||||
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import com.permissionx.guolindev.PermissionX
|
import com.permissionx.guolindev.PermissionX
|
||||||
import java.io.File
|
import jp.wasabeef.glide.transformations.*
|
||||||
import java.io.FileInputStream
|
import jp.wasabeef.glide.transformations.internal.Utils
|
||||||
import java.io.IOException
|
|
||||||
import java.math.BigInteger
|
|
||||||
import java.security.MessageDigest
|
|
||||||
import java.security.NoSuchAlgorithmException
|
|
||||||
|
|
||||||
/*全局方法类*/
|
/*全局方法类*/
|
||||||
object GlobalMethod {
|
object GlobalMethod {
|
||||||
|
@ -51,18 +42,33 @@ object GlobalMethod {
|
||||||
const val DEFAULT_GAME_PACKAGE = "com.corrodinggames.rts"
|
const val DEFAULT_GAME_PACKAGE = "com.corrodinggames.rts"
|
||||||
const val DEBUG_SIGN = "963dfd616924b27f9247a35e45bc130a"
|
const val DEBUG_SIGN = "963dfd616924b27f9247a35e45bc130a"
|
||||||
const val RELEASE_SIGN = "5320b24894fe7ed449842a81a2dfceda"
|
const val RELEASE_SIGN = "5320b24894fe7ed449842a81a2dfceda"
|
||||||
|
var temColor = Color.RED
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取Glide请求设置
|
* 获取Glide请求设置
|
||||||
* @return RequestOptions
|
* @return RequestOptions
|
||||||
*/
|
*/
|
||||||
fun getRequestOptions(circleCrop: Boolean = false): RequestOptions {
|
fun getRequestOptions(circleCrop: Boolean = false, grayscale: Boolean = false): RequestOptions {
|
||||||
val requestOptions = if (circleCrop) {
|
//变换列表
|
||||||
RequestOptions.circleCropTransform()
|
val transformations = ArrayList<BitmapTransformation>()
|
||||||
} else {
|
if (circleCrop) {
|
||||||
RequestOptions().placeholder(R.drawable.image).error(R.drawable.image_not_supported)
|
transformations.add(CropCircleWithBorderTransformation(Utils.toDp(4), temColor))
|
||||||
}
|
}
|
||||||
|
if (grayscale) {
|
||||||
|
transformations.add(GrayscaleTransformation())
|
||||||
|
}
|
||||||
|
//请求设置
|
||||||
|
val requestOptions = if (transformations.isNotEmpty()) {
|
||||||
|
val multi = MultiTransformation<Bitmap>(
|
||||||
|
transformations
|
||||||
|
)
|
||||||
|
RequestOptions.bitmapTransform(multi)
|
||||||
|
} else {
|
||||||
|
RequestOptions()
|
||||||
|
}
|
||||||
|
requestOptions.placeholder(R.drawable.image)
|
||||||
|
.error(R.drawable.image_not_supported)
|
||||||
return requestOptions
|
return requestOptions
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
5
app/src/main/res/drawable/ic_outline_save_24.xml
Normal file
5
app/src/main/res/drawable/ic_outline_save_24.xml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<vector android:height="24dp" android:tint="#000000"
|
||||||
|
android:viewportHeight="24" android:viewportWidth="24"
|
||||||
|
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<path android:fillColor="@android:color/white" android:pathData="M17,3L5,3c-1.11,0 -2,0.9 -2,2v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,7l-4,-4zM19,19L5,19L5,5h11.17L19,7.83L19,19zM12,12c-1.66,0 -3,1.34 -3,3s1.34,3 3,3 3,-1.34 3,-3 -1.34,-3 -3,-3zM6,6h9v4L6,10z"/>
|
||||||
|
</vector>
|
|
@ -1,12 +0,0 @@
|
||||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:width="200dp"
|
|
||||||
android:height="200dp"
|
|
||||||
android:viewportWidth="1024"
|
|
||||||
android:viewportHeight="1024">
|
|
||||||
<path
|
|
||||||
android:pathData="M819.82,83.69L206.99,83.69c-67.7,0 -122.59,54.88 -122.59,122.59v612.83c0,67.7 54.88,122.59 122.59,122.59h612.83c67.7,0 122.59,-54.88 122.59,-122.59L942.41,206.28c-0,-67.7 -54.88,-122.59 -122.59,-122.59zM695.39,147.01v241.14L331.77,388.15L331.77,147.01h363.62zM881.17,819.28c0.03,33.76 -27.32,61.16 -61.09,61.19L207.13,880.47c-16.39,0 -31.86,-6.3 -43.45,-17.89s-18.04,-26.91 -18.04,-43.3v-612.94c0.06,-33.92 27.57,-61.4 61.49,-61.41h61.33v245.29c-0.05,33.77 27.29,61.19 61.06,61.24h367.89c33.85,0 61.3,-27.39 61.3,-61.24L758.7,144.93h61.21c33.87,0.04 61.3,27.52 61.26,61.4L881.18,819.28z"
|
|
||||||
android:fillColor="?android:attr/textColorPrimary"/>
|
|
||||||
<path
|
|
||||||
android:pathData="M574.82,329.94c17.48,0 31.66,-14.17 31.66,-31.66v-61.29c0,-17.48 -14.17,-31.66 -31.66,-31.66s-31.66,14.17 -31.66,31.66v61.29c0,17.48 14.17,31.66 31.66,31.66z"
|
|
||||||
android:fillColor="?android:attr/textColorPrimary"/>
|
|
||||||
</vector>
|
|
|
@ -25,6 +25,7 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:orientation="vertical"
|
android:orientation="vertical"
|
||||||
|
android:visibility="gone"
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
||||||
|
|
||||||
|
|
||||||
|
@ -52,7 +53,7 @@
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_marginLeft="16dp"
|
||||||
android:layout_marginTop="8dp"
|
android:layout_marginTop="8dp"
|
||||||
android:layout_marginRight="16dp"
|
android:layout_marginRight="16dp"
|
||||||
android:visibility="gone"
|
android:visibility="visible"
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">
|
||||||
|
|
||||||
|
|
||||||
|
@ -121,7 +122,24 @@
|
||||||
</com.google.android.material.textfield.TextInputLayout>
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
|
||||||
<LinearLayout
|
<com.google.android.material.textfield.TextInputLayout
|
||||||
|
style="@style/Widget.Material3.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
|
android:hint="@string/gender">
|
||||||
|
|
||||||
|
<com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||||
|
android:id="@+id/sexView"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:inputType="none"
|
||||||
|
app:simpleItems="@array/gender_entries" />
|
||||||
|
|
||||||
|
</com.google.android.material.textfield.TextInputLayout>
|
||||||
|
|
||||||
|
|
||||||
|
<RelativeLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_marginTop="8dp">
|
android:layout_marginTop="8dp">
|
||||||
|
@ -129,18 +147,23 @@
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:text="@string/gender" />
|
android:layout_centerVertical="true"
|
||||||
|
android:text="@string/profile_picture_box_color" />
|
||||||
|
|
||||||
<Spinner
|
<Button
|
||||||
android:id="@+id/updateSpinner"
|
android:id="@+id/changeColorButton"
|
||||||
|
style="@style/Widget.Material3.Button.OutlinedButton"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:entries="@array/gender_entries" />
|
android:layout_alignParentEnd="true"
|
||||||
</LinearLayout>
|
android:text="@string/choose_color" />
|
||||||
|
|
||||||
|
</RelativeLayout>
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
|
android:layout_marginTop="8dp"
|
||||||
android:gravity="center_vertical">
|
android:gravity="center_vertical">
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -157,18 +180,19 @@
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|
||||||
</androidx.core.widget.NestedScrollView>
|
</androidx.core.widget.NestedScrollView>
|
||||||
|
|
||||||
<Button
|
<com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
|
||||||
android:id="@+id/button"
|
android:id="@+id/button"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_gravity="bottom"
|
android:layout_gravity="bottom|right"
|
||||||
android:layout_marginLeft="16dp"
|
android:layout_margin="16dp"
|
||||||
android:layout_marginRight="16dp"
|
app:icon="@drawable/ic_outline_save_24"
|
||||||
android:text="@string/edit_function"
|
android:text="@string/edit_function"
|
||||||
android:visibility="gone" />
|
android:visibility="gone" />
|
||||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
|
@ -254,6 +254,11 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
|
app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior" />
|
||||||
|
|
||||||
|
<com.luolc.emojirain.EmojiRainLayout
|
||||||
|
android:id="@+id/emojiRainLayout"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"/>
|
||||||
|
|
||||||
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
<com.google.android.material.floatingactionbutton.FloatingActionButton
|
||||||
android:id="@+id/fab"
|
android:id="@+id/fab"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|
|
@ -14,7 +14,7 @@
|
||||||
|
|
||||||
<item
|
<item
|
||||||
android:id="@+id/save_text"
|
android:id="@+id/save_text"
|
||||||
android:icon="@drawable/save"
|
android:icon="@drawable/ic_outline_save_24"
|
||||||
android:title="@string/edit_function"
|
android:title="@string/edit_function"
|
||||||
app:actionViewClass="view"
|
app:actionViewClass="view"
|
||||||
app:showAsAction="always" />
|
app:showAsAction="always" />
|
||||||
|
|
|
@ -359,6 +359,7 @@
|
||||||
<string name="collapse_info">崩溃信息</string>
|
<string name="collapse_info">崩溃信息</string>
|
||||||
<string name="load_system_application">显示系统应用</string>
|
<string name="load_system_application">显示系统应用</string>
|
||||||
<string name="choose_color">选择颜色</string>
|
<string name="choose_color">选择颜色</string>
|
||||||
|
<string name="profile_picture_box_color">头像框颜色</string>
|
||||||
<string name="game_pack">游戏包</string>
|
<string name="game_pack">游戏包</string>
|
||||||
<string name="select_the_game_pack">选择游戏包</string>
|
<string name="select_the_game_pack">选择游戏包</string>
|
||||||
<string name="enable_the_recovery_station">模组回收站</string>
|
<string name="enable_the_recovery_station">模组回收站</string>
|
||||||
|
@ -589,7 +590,7 @@
|
||||||
<string name="defollow_tip">要取消关注\"%1$s\"嘛?</string>
|
<string name="defollow_tip">要取消关注\"%1$s\"嘛?</string>
|
||||||
<string name="head_icon">头像:</string>
|
<string name="head_icon">头像:</string>
|
||||||
<string name="signature">个性签名</string>
|
<string name="signature">个性签名</string>
|
||||||
<string name="gender">性别:</string>
|
<string name="gender">性别</string>
|
||||||
<string name="cover">空间背景:</string>
|
<string name="cover">空间背景:</string>
|
||||||
<string name="night_mode_auto">深色默认不自动开启</string>
|
<string name="night_mode_auto">深色默认不自动开启</string>
|
||||||
<string name="account_tip">注册后不能修改。</string>
|
<string name="account_tip">注册后不能修改。</string>
|
||||||
|
|
|
@ -4,5 +4,5 @@
|
||||||
# Location of the SDK. This is only used by Gradle.
|
# Location of the SDK. This is only used by Gradle.
|
||||||
# For customization when using a Version Control System, please read the
|
# For customization when using a Version Control System, please read the
|
||||||
# header note.
|
# header note.
|
||||||
#Mon Jul 25 19:57:10 CST 2022
|
#Mon Jul 25 20:47:39 CST 2022
|
||||||
sdk.dir=D\:\\Android_SDK
|
sdk.dir=D\:\\Document\\AndroidSdk
|
||||||
|
|
Loading…
Reference in New Issue
Block a user