演示界面调整

This commit is contained in:
fengge 2026-06-30 12:10:27 +08:00
parent 9340aa319d
commit 15b04be06f
4 changed files with 105 additions and 28 deletions

View File

@ -4,9 +4,11 @@ import android.content.Intent
import android.os.Build import android.os.Build
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.widget.EditText
import android.widget.ImageView import android.widget.ImageView
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
class DeveloperActivity : AppCompatActivity() { class DeveloperActivity : AppCompatActivity() {
@ -29,6 +31,48 @@ class DeveloperActivity : AppCompatActivity() {
startActivity(Intent(this, com.stand.standapp.printer.PrintTestActivity::class.java)) startActivity(Intent(this, com.stand.standapp.printer.PrintTestActivity::class.java))
} }
// 本地演示界面
findViewById<LinearLayout>(R.id.item_demo_ui).setOnClickListener {
val builder = androidx.appcompat.app.AlertDialog.Builder(this)
builder.setTitle("本地演示登录")
val layout = LinearLayout(this).apply {
orientation = LinearLayout.VERTICAL
setPadding(50, 40, 50, 10)
}
val etUser = EditText(this).apply {
hint = "账号"
setText("test007")
}
layout.addView(etUser)
val etPwd = EditText(this).apply {
hint = "密码"
setText("123456")
inputType = android.text.InputType.TYPE_CLASS_TEXT or android.text.InputType.TYPE_TEXT_VARIATION_PASSWORD
}
layout.addView(etPwd)
builder.setView(layout)
builder.setPositiveButton("登录") { _, _ ->
val username = etUser.text.toString().trim()
val password = etPwd.text.toString().trim()
if (username.isEmpty() || password.isEmpty()) {
Toast.makeText(this, "账号密码不能为空", Toast.LENGTH_SHORT).show()
} else {
val intent = Intent(this, LoginActivity::class.java).apply {
putExtra("official_mode_login", false)
putExtra("extra_username", username)
putExtra("extra_password", password)
}
startActivity(intent)
}
}
builder.setNegativeButton("取消", null)
builder.show()
}
// 崩溃模拟 // 崩溃模拟
findViewById<LinearLayout>(R.id.item_crash_test).setOnClickListener { findViewById<LinearLayout>(R.id.item_crash_test).setOnClickListener {
androidx.appcompat.app.AlertDialog.Builder(this) androidx.appcompat.app.AlertDialog.Builder(this)

View File

@ -33,7 +33,6 @@ class LoginActivity : AppCompatActivity() {
val etPassword = findViewById<EditText>(R.id.et_password) val etPassword = findViewById<EditText>(R.id.et_password)
val cbRemember = findViewById<CheckBox>(R.id.cb_remember) val cbRemember = findViewById<CheckBox>(R.id.cb_remember)
val btnLogin = findViewById<Button>(R.id.btn_login) val btnLogin = findViewById<Button>(R.id.btn_login)
val btnLoginOfficial = findViewById<Button>(R.id.btn_login_official)
val btnExit = findViewById<Button>(R.id.btn_exit) val btnExit = findViewById<Button>(R.id.btn_exit)
val ivSettings = findViewById<ImageView>(R.id.iv_settings) val ivSettings = findViewById<ImageView>(R.id.iv_settings)
val tvCopyright = findViewById<TextView>(R.id.tv_copyright) val tvCopyright = findViewById<TextView>(R.id.tv_copyright)
@ -46,12 +45,22 @@ class LoginActivity : AppCompatActivity() {
etPassword.setText(AppConfig.getSavedPassword(this)) etPassword.setText(AppConfig.getSavedPassword(this))
} }
// 检查是否有传递过来的用户名和密码(来自开发者界面的演示登录)
val extraUsername = intent.getStringExtra("extra_username")
val extraPassword = intent.getStringExtra("extra_password")
if (!extraUsername.isNullOrEmpty() && !extraPassword.isNullOrEmpty()) {
etUsername.setText(extraUsername)
etPassword.setText(extraPassword)
val isOfficialMode = intent.getBooleanExtra("official_mode_login", true)
performLogin(extraUsername, extraPassword, cbRemember.isChecked, isOfficialMode)
}
// 2. 服务器配置图标点击事件 // 2. 服务器配置图标点击事件
ivSettings.setOnClickListener { ivSettings.setOnClickListener {
showServerConfigDialog() showServerConfigDialog()
} }
// 3. 登录按钮点击事件 // 3. 登录按钮点击事件(进行正式界面登录)
btnLogin.setOnClickListener { btnLogin.setOnClickListener {
val username = etUsername.text.toString().trim() val username = etUsername.text.toString().trim()
val password = etPassword.text.toString().trim() val password = etPassword.text.toString().trim()
@ -61,21 +70,9 @@ class LoginActivity : AppCompatActivity() {
return@setOnClickListener return@setOnClickListener
} }
// 执行真实接口登录 // 根据传入的 Intent 决定是正式登录还是演示登录,默认是正式登录(true)
performLogin(username, password, cbRemember.isChecked, false) val isOfficialMode = intent.getBooleanExtra("official_mode_login", true)
} performLogin(username, password, cbRemember.isChecked, isOfficialMode)
// 3.1 正式界面登录按钮点击事件
btnLoginOfficial.setOnClickListener {
val username = etUsername.text.toString().trim()
val password = etPassword.text.toString().trim()
if (username.isEmpty() || password.isEmpty()) {
Toast.makeText(applicationContext, "请输入账号和密码", Toast.LENGTH_SHORT).show()
return@setOnClickListener
}
performLogin(username, password, cbRemember.isChecked, true)
} }
// 4. 退出按钮 // 4. 退出按钮

View File

@ -149,6 +149,53 @@
android:tint="#CBD5E1" /> android:tint="#CBD5E1" />
</LinearLayout> </LinearLayout>
<!-- 演示界面入口卡片 -->
<LinearLayout
android:id="@+id/item_demo_ui"
android:layout_width="match_parent"
android:layout_height="72dp"
android:background="@drawable/bg_developer_item"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingHorizontal="16dp"
android:layout_marginBottom="12dp"
android:clickable="true"
android:focusable="true">
<ImageView
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@android:drawable/ic_menu_gallery"
android:tint="#F59E0B" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="16dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="本地演示界面"
android:textColor="#1E293B"
android:textSize="15sp"
android:textStyle="bold" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="启动本地 H5 打印及 PTT 控制演示页面"
android:textColor="#94A3B8"
android:textSize="12sp" />
</LinearLayout>
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@android:drawable/ic_media_next"
android:tint="#CBD5E1" />
</LinearLayout>
<!-- 崩溃测试卡片 --> <!-- 崩溃测试卡片 -->
<LinearLayout <LinearLayout
android:id="@+id/item_crash_test" android:id="@+id/item_crash_test"

View File

@ -268,17 +268,6 @@
android:textStyle="bold" android:textStyle="bold"
android:letterSpacing="0.2" /> android:letterSpacing="0.2" />
<!-- 正式界面登录按钮 -->
<Button
android:id="@+id/btn_login_official"
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_marginBottom="8dp"
android:background="@drawable/shape_button_secondary"
android:text="正式界面登录"
android:textColor="#3A7A9A"
android:textSize="14sp" />
<!-- 退出应用 --> <!-- 退出应用 -->
<Button <Button
android:id="@+id/btn_exit" android:id="@+id/btn_exit"