修复登录ui

pull/1264/head
gedoor 4 years ago
parent 7297b4f244
commit 11237719ba
  1. 23
      app/src/main/java/io/legado/app/ui/book/login/RuleUiLoginDialog.kt
  2. 5
      app/src/main/res/layout/dialog_login.xml

@ -1,5 +1,6 @@
package io.legado.app.ui.book.login
import android.content.DialogInterface
import android.os.Bundle
import android.text.InputType
import android.view.LayoutInflater
@ -21,6 +22,14 @@ class RuleUiLoginDialog : BaseDialogFragment() {
private val binding by viewBinding(DialogLoginBinding::bind)
private val viewModel by activityViewModels<SourceLoginViewModel>()
override fun onStart() {
super.onStart()
dialog?.window?.setLayout(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
)
}
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
@ -32,24 +41,27 @@ class RuleUiLoginDialog : BaseDialogFragment() {
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
binding.toolBar.setBackgroundColor(primaryColor)
val bookSource = viewModel.bookSource ?: return
val loginHeader = bookSource.getLoginHeader()
binding.toolBar.title = getString(R.string.login_source, bookSource.bookSourceName)
val loginInfo = bookSource.getLoginInfo()
val loginUi = bookSource.loginUi
loginUi?.forEachIndexed { index, rowUi ->
when (rowUi.type) {
"text" -> layoutInflater.inflate(R.layout.item_source_edit, binding.root)
.apply {
id = index
findViewById<TextInputLayout>(R.id.textInputLayout).hint = rowUi.name
findViewById<EditText>(R.id.editText).apply {
setText(loginHeader?.get(rowUi.name))
setText(loginInfo?.get(rowUi.name))
}
}
"password" -> layoutInflater.inflate(R.layout.item_source_edit, binding.root)
.apply {
id = index
findViewById<TextInputLayout>(R.id.textInputLayout).hint = rowUi.name
findViewById<EditText>(R.id.editText).apply {
inputType =
InputType.TYPE_TEXT_VARIATION_PASSWORD or InputType.TYPE_CLASS_TEXT
setText(loginHeader?.get(rowUi.name))
setText(loginInfo?.get(rowUi.name))
}
}
}
@ -76,4 +88,9 @@ class RuleUiLoginDialog : BaseDialogFragment() {
}
}
override fun onDismiss(dialog: DialogInterface) {
super.onDismiss(dialog)
activity?.finish()
}
}

@ -1,11 +1,11 @@
<?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"
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/background"
android:gravity="center"
android:orientation="horizontal">
android:orientation="vertical">
<androidx.appcompat.widget.Toolbar
android:id="@+id/tool_bar"
@ -19,5 +19,4 @@
app:popupTheme="@style/AppTheme.PopupOverlay"
app:titleTextAppearance="@style/ToolbarTitle" />
</LinearLayout>
Loading…
Cancel
Save