增加配置背景图的按钮,修订以前的错误
This commit is contained in:
@@ -19,6 +19,7 @@ android {
|
|||||||
vectorDrawables {
|
vectorDrawables {
|
||||||
useSupportLibrary = true
|
useSupportLibrary = true
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
|||||||
@@ -33,6 +33,13 @@ import org.json.JSONObject
|
|||||||
import com.squareup.moshi.Moshi
|
import com.squareup.moshi.Moshi
|
||||||
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
|
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
|
||||||
|
|
||||||
// 定义请求体数据类
|
// 定义请求体数据类
|
||||||
data class ChatRequest(
|
data class ChatRequest(
|
||||||
val model: String,
|
val model: String,
|
||||||
@@ -88,7 +95,6 @@ fun extractLabels(responseBody: String): List<String>? {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class MainActivity : AppCompatActivity() {
|
class MainActivity : AppCompatActivity() {
|
||||||
|
|
||||||
private lateinit var inputEditText: EditText
|
private lateinit var inputEditText: EditText
|
||||||
private lateinit var configButton: Button
|
private lateinit var configButton: Button
|
||||||
private lateinit var submitToZhiPuAIButton: Button
|
private lateinit var submitToZhiPuAIButton: Button
|
||||||
@@ -351,6 +357,23 @@ class MainActivity : AppCompatActivity() {
|
|||||||
tabLayout.addTab(this)
|
tabLayout.addTab(this)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 创建背景图
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun getBitmapFromUri(uri: Uri): Bitmap? {
|
||||||
|
val inputStream: InputStream? = contentResolver.openInputStream(uri)
|
||||||
|
return BitmapFactory.decodeStream(inputStream)
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressLint("SetTextI18n")
|
@SuppressLint("SetTextI18n")
|
||||||
|
|||||||
@@ -11,14 +11,15 @@ import androidx.appcompat.app.AppCompatActivity
|
|||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
|
|
||||||
|
import android.app.Activity
|
||||||
|
import android.content.Intent
|
||||||
import android.graphics.Bitmap
|
import android.graphics.Bitmap
|
||||||
import android.graphics.BitmapFactory
|
import android.graphics.BitmapFactory
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import android.provider.MediaStore
|
||||||
|
import androidx.activity.result.ActivityResultLauncher
|
||||||
import androidx.activity.result.contract.ActivityResultContracts
|
import androidx.activity.result.contract.ActivityResultContracts
|
||||||
import android.graphics.drawable.BitmapDrawable
|
|
||||||
import java.io.InputStream
|
import java.io.InputStream
|
||||||
import android.widget.RelativeLayout
|
|
||||||
|
|
||||||
|
|
||||||
class SecondActivity : AppCompatActivity() {
|
class SecondActivity : AppCompatActivity() {
|
||||||
private lateinit var etApiButtonName: EditText
|
private lateinit var etApiButtonName: EditText
|
||||||
@@ -29,9 +30,13 @@ class SecondActivity : AppCompatActivity() {
|
|||||||
private lateinit var etApiModel: EditText
|
private lateinit var etApiModel: EditText
|
||||||
private lateinit var btnSave: Button
|
private lateinit var btnSave: Button
|
||||||
private lateinit var llConfigList: LinearLayout
|
private lateinit var llConfigList: LinearLayout
|
||||||
private lateinit var backgroundLayout: RelativeLayout
|
|
||||||
private var configs = mutableListOf<APIConfig>()
|
private var configs = mutableListOf<APIConfig>()
|
||||||
private var editingId: Long? = null
|
private var editingId: Long? = null
|
||||||
|
private lateinit var imagePickerLauncher: ActivityResultLauncher<Intent>
|
||||||
|
|
||||||
|
companion object {
|
||||||
|
private const val REQUEST_CODE_PICK_IMAGE = 1000
|
||||||
|
}
|
||||||
|
|
||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
setTheme(androidx.appcompat.R.style.Theme_AppCompat)
|
setTheme(androidx.appcompat.R.style.Theme_AppCompat)
|
||||||
@@ -54,27 +59,30 @@ class SecondActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
backgroundLayout = findViewById(R.id.mainLinearLayout)
|
// 创建背景图
|
||||||
|
setContentView(R.layout.activity_second)
|
||||||
|
|
||||||
val btnSelectImage: Button = findViewById(R.id.chooseButton)
|
imagePickerLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
||||||
|
if (result.resultCode == Activity.RESULT_OK && result.data != null) {
|
||||||
val getContent = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? ->
|
val selectedImageUri: Uri? = result.data?.data
|
||||||
uri?.let {
|
selectedImageUri?.let { uri ->
|
||||||
try {
|
val bitmap = getBitmapFromUri(uri)
|
||||||
val inputStream: InputStream = contentResolver.openInputStream(uri)!!
|
// 使用bitmap更新背景或其他操作
|
||||||
val bitmap: Bitmap = BitmapFactory.decodeStream(inputStream)
|
|
||||||
backgroundLayout.background = BitmapDrawable(resources, bitmap)
|
|
||||||
} catch (e: Exception) {
|
|
||||||
e.printStackTrace()
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
val chooseButton: Button = findViewById(R.id.chooseButton)
|
||||||
btnSelectImage.setOnClickListener {
|
chooseButton.setOnClickListener {
|
||||||
getContent.launch("image/*")
|
val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
|
||||||
|
intent.type = "image/*"
|
||||||
|
imagePickerLauncher.launch(intent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun getBitmapFromUri(uri: Uri): Bitmap? {
|
||||||
|
val inputStream: InputStream? = contentResolver.openInputStream(uri)
|
||||||
|
return BitmapFactory.decodeStream(inputStream)
|
||||||
|
}
|
||||||
|
|
||||||
private fun initViews() {
|
private fun initViews() {
|
||||||
etApiButtonName = findViewById(R.id.etApiButtonName)
|
etApiButtonName = findViewById(R.id.etApiButtonName)
|
||||||
|
|||||||
@@ -101,9 +101,10 @@
|
|||||||
|
|
||||||
<Button
|
<Button
|
||||||
android:id="@+id/chooseButton"
|
android:id="@+id/chooseButton"
|
||||||
android:text="上传图片"
|
android:text="选择图片"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content" />
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_centerInParent="true"/>
|
||||||
|
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user