增加修改状态栏的背景颜色的按钮和功能实现

This commit is contained in:
2024-10-09 22:28:28 +08:00
parent 32afb87664
commit 82c7f28f0f
3 changed files with 60 additions and 23 deletions

View File

@@ -35,9 +35,7 @@ import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
import android.graphics.Bitmap
import android.graphics.BitmapFactory
import android.graphics.drawable.BitmapDrawable
import android.net.Uri
import android.widget.LinearLayout
import java.io.InputStream
// 定义请求体数据类
@@ -333,13 +331,14 @@ class MainActivity : AppCompatActivity() {
tabLayout = findViewById(R.id.tabLayout)
submitToServerButton = findViewById(R.id.submitToServerButton)
// 点击配置按钮
configButton = findViewById(R.id.configButton)
configButton.setOnClickListener {
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
}
// 提交到flomo的服务器按钮
submitToServerButton = findViewById(R.id.submitToServerButton)
inputEditText = findViewById(R.id.inputEditText)
@@ -349,7 +348,7 @@ class MainActivity : AppCompatActivity() {
}
// Setup TabLayout using a loop
// 创建4个按钮
val tabLayout = findViewById<TabLayout>(R.id.tabLayout)
// 维持原来的创建标签按钮的代码
(1..4).forEach { tabIndex ->
@@ -359,17 +358,22 @@ class MainActivity : AppCompatActivity() {
}
}
// 创建背景图
val mainLinearLayout: LinearLayout = findViewById(R.id.mainLinearLayout)
}
// 从Intent中获取Uri
val selectedImageUri: Uri? = intent.data
selectedImageUri?.let { uri ->
val bitmap = getBitmapFromUri(uri)
bitmap?.let {
mainLinearLayout.background = BitmapDrawable(resources, it)
}
override fun onStart() {
super.onStart()
// 获取从其他 Activity 传递过来的按钮颜色值,如果没有传递颜色值,则默认值为透明色。
val statusTextView = findViewById<TextView>(R.id.statusTextView)
// 获取共享偏好设置实例
val sharedPrefs = getSharedPreferences("APIConfigs", MODE_PRIVATE)
// 从共享偏好设置中读取按钮颜色值
var buttonColor = sharedPrefs.getInt("buttonColor", -1)
if (buttonColor == 0 || buttonColor == -1) {
buttonColor = android.R.color.holo_blue_dark
}
statusTextView.setBackgroundResource(buttonColor)
Log.d("SharedPrefsDebug", "Loaded color in MainActivity: $buttonColor")
}
private fun getBitmapFromUri(uri: Uri): Bitmap? {