# Conflicts:
#	app/src/main/res/drawable/bg_img_border.xml
#	app/src/main/res/layout/item_rss_article_2.xml
pull/219/head
yangyxd 5 years ago
commit 8a5cdd223a
  1. 7
      app/src/main/java/io/legado/app/help/AppConfig.kt
  2. 6
      app/src/main/java/io/legado/app/help/http/HttpHelper.kt
  3. 2
      app/src/main/java/io/legado/app/ui/config/ThemeConfigFragment.kt
  4. 7
      app/src/main/java/io/legado/app/ui/rss/article/RssArticlesFragment.kt
  5. 4
      app/src/main/java/io/legado/app/ui/rss/article/RssSortViewModel.kt
  6. 19
      app/src/main/res/drawable/bg_img_border.xml
  7. 5
      app/src/main/res/layout/item_rss_article_2.xml
  8. 9
      app/src/main/res/xml/pref_config_theme.xml

@ -1,5 +1,6 @@
package io.legado.app.help
import android.annotation.SuppressLint
import android.content.Context
import android.content.pm.PackageManager
import io.legado.app.App
@ -123,7 +124,11 @@ object AppConfig {
}
var elevation: Int
get() = App.INSTANCE.getPrefInt("elevation", -1)
@SuppressLint("PrivateResource")
get() = App.INSTANCE.getPrefInt(
"elevation",
App.INSTANCE.resources.getDimension(R.dimen.design_appbar_elevation).toInt()
)
set(value) {
App.INSTANCE.putPrefInt("elevation", value)
}

@ -44,11 +44,7 @@ object HttpHelper {
val response = getApiService<HttpGetApi>(baseUrl, encode)
.get(url, mapOf())
.execute()
return if (response.body() != null) {
response.body()
} else {
response.errorBody().toString()
}
return response.body()
}
return null
}

@ -1,5 +1,6 @@
package io.legado.app.ui.config
import android.annotation.SuppressLint
import android.content.SharedPreferences
import android.os.Build
import android.os.Bundle
@ -115,6 +116,7 @@ class ThemeConfigFragment : PreferenceFragmentCompat(), SharedPreferences.OnShar
}
@SuppressLint("PrivateResource")
override fun onPreferenceTreeClick(preference: Preference?): Boolean {
when (preference?.key) {
"defaultTheme" -> alert(title = "切换默认主题") {

@ -4,6 +4,7 @@ import android.os.Bundle
import android.view.View
import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import io.legado.app.App
@ -53,7 +54,11 @@ class RssArticlesFragment : VMBaseFragment<RssArticlesViewModel>(R.layout.fragme
private fun initView() {
ATH.applyEdgeEffectColor(recycler_view)
recycler_view.layoutManager = LinearLayoutManager(requireContext())
recycler_view.layoutManager = if (activityViewModel.isGridLayout) {
GridLayoutManager(requireContext(), 2)
} else {
LinearLayoutManager(requireContext())
}
recycler_view.addItemDecoration(VerticalDivider(requireContext()))
adapter = RssArticlesAdapter(requireContext(), activityViewModel.layoutId, this)
recycler_view.adapter = adapter

@ -16,9 +16,11 @@ class RssSortViewModel(application: Application) : BaseViewModel(application) {
var rssSource: RssSource? = null
val titleLiveData = MutableLiveData<String>()
var order = System.currentTimeMillis()
val isGridLayout get() = rssSource?.articleStyle == 2
val layoutId
get() = when (rssSource?.articleStyle) {
1 -> R.layout.item_rss_article_1
2 -> R.layout.item_rss_article_2
else -> R.layout.item_rss_article
}
@ -40,7 +42,7 @@ class RssSortViewModel(application: Application) : BaseViewModel(application) {
fun switchLayout() {
rssSource?.let {
if (it.articleStyle < 1) {
if (it.articleStyle < 2) {
it.articleStyle = it.articleStyle + 1
} else {
it.articleStyle = 0

@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/background" />
<stroke android:width="1dp" android:color="@color/bg_divider_line" />
<corners android:radius="1dp" />
<padding android:left="0dp" android:top="0dp"
android:right="0dp" android:bottom="0dp" />
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/background" />
<stroke
android:width="1dp"
android:color="@color/bg_divider_line" />
<corners android:radius="1dp" />
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp" />
</shape>

@ -42,12 +42,13 @@
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/app_name"
android:textSize="10sp"
android:textSize="11sp"
android:maxLines="1"
android:paddingTop="8dp"
android:paddingBottom="2dp"
app:layout_constraintTop_toBottomOf="@+id/tv_title"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
app:layout_constraintRight_toRightOf="parent"
tools:ignore="SmallSp" />
</androidx.constraintlayout.widget.ConstraintLayout>

@ -12,15 +12,6 @@
app:icons="@array/icons"
app:iconSpaceReserved="false" />
<io.legado.app.ui.widget.prefs.NameListPreference
android:defaultValue="0"
android:entries="@array/theme_mode"
android:entryValues="@array/theme_mode_v"
android:key="themeMode"
android:title="@string/theme_mode"
android:summary="@string/theme_mode_desc"
app:iconSpaceReserved="false" />
<io.legado.app.ui.widget.prefs.SwitchPreference
android:defaultValue="true"
android:key="transparentStatusBar"

Loading…
Cancel
Save