update ui
This commit is contained in:
@@ -80,9 +80,9 @@ abstract class BaseActivity<VB : ViewBinding>(
|
||||
@SuppressLint("ObsoleteSdkInt")
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
window.decorView.disableAutoFill()
|
||||
initTheme()
|
||||
//initTheme()
|
||||
super.onCreate(savedInstanceState)
|
||||
setupSystemBar()
|
||||
//setupSystemBar()
|
||||
setContentView(binding.root)
|
||||
upBackgroundImage()
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
|
||||
@@ -101,14 +101,14 @@ abstract class BaseActivity<VB : ViewBinding>(
|
||||
super.onMultiWindowModeChanged(isInMultiWindowMode, newConfig)
|
||||
// findViewById<TitleBar>(R.id.title_bar)
|
||||
// ?.onMultiWindowModeChanged(isInMultiWindowMode, fullScreen)
|
||||
setupSystemBar()
|
||||
//setupSystemBar()
|
||||
}
|
||||
|
||||
override fun onConfigurationChanged(newConfig: Configuration) {
|
||||
super.onConfigurationChanged(newConfig)
|
||||
//findViewById<TitleBar>(R.id.title_bar)
|
||||
//?.onMultiWindowModeChanged(isInMultiWindow, fullScreen)
|
||||
setupSystemBar()
|
||||
//setupSystemBar()
|
||||
}
|
||||
|
||||
abstract fun onActivityCreated(savedInstanceState: Bundle?)
|
||||
@@ -174,20 +174,20 @@ abstract class BaseActivity<VB : ViewBinding>(
|
||||
}
|
||||
}
|
||||
|
||||
open fun setupSystemBar() {
|
||||
if (fullScreen && !isInMultiWindow) {
|
||||
fullScreen()
|
||||
}
|
||||
//val isTransparentStatusBar = AppConfig.isTransparentStatusBar
|
||||
//val statusBarColor = ThemeStore.statusBarColor(this, isTransparentStatusBar)
|
||||
//setStatusBarColorAuto(statusBarColor, isTransparentStatusBar, fullScreen)
|
||||
// if (toolBarTheme == Theme.Dark) {
|
||||
// setLightStatusBar(false)
|
||||
// } else if (toolBarTheme == Theme.Light) {
|
||||
// setLightStatusBar(true)
|
||||
// open fun setupSystemBar() {
|
||||
// if (fullScreen && !isInMultiWindow) {
|
||||
// fullScreen()
|
||||
// }
|
||||
upNavigationBarColor()
|
||||
}
|
||||
// //val isTransparentStatusBar = AppConfig.isTransparentStatusBar
|
||||
// //val statusBarColor = ThemeStore.statusBarColor(this, isTransparentStatusBar)
|
||||
// //setStatusBarColorAuto(statusBarColor, isTransparentStatusBar, fullScreen)
|
||||
//// if (toolBarTheme == Theme.Dark) {
|
||||
//// setLightStatusBar(false)
|
||||
//// } else if (toolBarTheme == Theme.Light) {
|
||||
//// setLightStatusBar(true)
|
||||
//// }
|
||||
// upNavigationBarColor()
|
||||
// }
|
||||
|
||||
open fun upNavigationBarColor() {
|
||||
// if (AppConfig.immNavigationBar) {
|
||||
|
||||
@@ -31,27 +31,27 @@ class PreferenceCategory(context: Context, attrs: AttributeSet) :
|
||||
//view.setTextColor(context.accentColor)
|
||||
view.isVisible = !title.isNullOrEmpty()
|
||||
|
||||
val da = holder.findViewById(R.id.preference_divider_above)
|
||||
val dividerColor = if (AppConfig.isNightTheme) {
|
||||
// ColorUtils.withAlpha(
|
||||
// ColorUtils.shiftColor(context.backgroundColor, 1.05f),
|
||||
// 0.5f
|
||||
// )
|
||||
} else {
|
||||
// ColorUtils.withAlpha(
|
||||
// ColorUtils.shiftColor(context.backgroundColor, 0.95f),
|
||||
// 0.5f
|
||||
// )
|
||||
}
|
||||
if (da is View) {
|
||||
//da.setBackgroundColor(dividerColor)
|
||||
da.isVisible = holder.isDividerAllowedAbove
|
||||
}
|
||||
val db = holder.findViewById(R.id.preference_divider_below)
|
||||
if (db is View) {
|
||||
//db.setBackgroundColor(dividerColor)
|
||||
db.isVisible = holder.isDividerAllowedBelow
|
||||
}
|
||||
// val da = holder.findViewById(R.id.preference_divider_above)
|
||||
// val dividerColor = if (AppConfig.isNightTheme) {
|
||||
//// ColorUtils.withAlpha(
|
||||
//// ColorUtils.shiftColor(context.backgroundColor, 1.05f),
|
||||
//// 0.5f
|
||||
//// )
|
||||
// } else {
|
||||
//// ColorUtils.withAlpha(
|
||||
//// ColorUtils.shiftColor(context.backgroundColor, 0.95f),
|
||||
//// 0.5f
|
||||
//// )
|
||||
// }
|
||||
// if (da is View) {
|
||||
// //da.setBackgroundColor(dividerColor)
|
||||
// da.isVisible = holder.isDividerAllowedAbove
|
||||
// }
|
||||
// val db = holder.findViewById(R.id.preference_divider_below)
|
||||
// if (db is View) {
|
||||
// //db.setBackgroundColor(dividerColor)
|
||||
// db.isVisible = holder.isDividerAllowedBelow
|
||||
// }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -201,13 +201,13 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
||||
return false
|
||||
}
|
||||
})
|
||||
searchView.setOnQueryTextFocusChangeListener { _, hasFocus ->
|
||||
if (binding.refreshProgressBar.isAutoLoading || (!hasFocus && adapter.isNotEmpty() && searchView.query.isNotBlank())) {
|
||||
visibleInputHelp(false)
|
||||
} else {
|
||||
visibleInputHelp(true)
|
||||
}
|
||||
}
|
||||
// searchView.setOnQueryTextFocusChangeListener { _, hasFocus ->
|
||||
// if (binding.refreshProgressBar.isAutoLoading || (!hasFocus && adapter.isNotEmpty() && searchView.query.isNotBlank())) {
|
||||
// visibleInputHelp(false)
|
||||
// } else {
|
||||
// visibleInputHelp(true)
|
||||
// }
|
||||
// }
|
||||
visibleInputHelp(true)
|
||||
}
|
||||
|
||||
@@ -264,16 +264,16 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
||||
}
|
||||
|
||||
private fun initOtherView() {
|
||||
binding.fbStartStop.backgroundTintList =
|
||||
Selector.colorBuild()
|
||||
// binding.fbStartStop.backgroundTintList =
|
||||
// Selector.colorBuild()
|
||||
// .setDefaultColor(accentColor)
|
||||
// .setPressedColor(ColorUtils.darkenColor(accentColor))
|
||||
.create()
|
||||
// .create()
|
||||
binding.fbStartStop.setOnClickListener {
|
||||
if (viewModel.isSearchLiveData.value == true) {
|
||||
isManualStopSearch = true
|
||||
viewModel.stop()
|
||||
binding.refreshProgressBar.isAutoLoading = false
|
||||
//binding.refreshProgressBar.visibility = GONE
|
||||
} else {
|
||||
viewModel.search("")
|
||||
}
|
||||
@@ -395,7 +395,7 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
||||
*/
|
||||
private fun startSearch() {
|
||||
binding.refreshProgressBar.visible()
|
||||
binding.refreshProgressBar.isAutoLoading = true
|
||||
//binding.refreshProgressBar.isAutoLoading = true
|
||||
binding.fbStartStop.setImageResource(R.drawable.ic_stop_black_24dp)
|
||||
binding.fbStartStop.visible()
|
||||
}
|
||||
@@ -404,7 +404,7 @@ class SearchActivity : VMBaseActivity<ActivityBookSearchBinding, SearchViewModel
|
||||
* 搜索结束
|
||||
*/
|
||||
private fun searchFinally() {
|
||||
binding.refreshProgressBar.isAutoLoading = false
|
||||
//binding.refreshProgressBar.isAutoLoading = false
|
||||
binding.refreshProgressBar.gone()
|
||||
if (!isManualStopSearch && viewModel.hasMore) {
|
||||
binding.fbStartStop.setImageResource(R.drawable.ic_play_24dp)
|
||||
|
||||
@@ -8,6 +8,7 @@ import android.view.ViewGroup
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import io.legado.app.R
|
||||
import io.legado.app.base.BaseBottomSheetDialogFragment
|
||||
import io.legado.app.base.BaseDialogFragment
|
||||
import io.legado.app.base.adapter.ItemViewHolder
|
||||
import io.legado.app.base.adapter.RecyclerAdapter
|
||||
@@ -20,7 +21,7 @@ import io.legado.app.ui.widget.recycler.VerticalDivider
|
||||
import io.legado.app.utils.*
|
||||
import io.legado.app.utils.viewbindingdelegate.viewBinding
|
||||
|
||||
class ThemeListDialog : BaseDialogFragment(R.layout.dialog_recycler_view),
|
||||
class ThemeListDialog : BaseBottomSheetDialogFragment(R.layout.dialog_recycler_view),
|
||||
Toolbar.OnMenuItemClickListener {
|
||||
|
||||
private val binding by viewBinding(DialogRecyclerViewBinding::bind)
|
||||
|
||||
@@ -56,9 +56,8 @@ class ExploreAdapter(context: Context, val callBack: CallBack) :
|
||||
}
|
||||
|
||||
if (exIndex == holder.layoutPosition) {
|
||||
// 使用 MaterialButton 的 icon 属性和旋转动画
|
||||
ivStatus.icon = ContextCompat.getDrawable(context, R.drawable.ic_arrow_right)
|
||||
ivStatus.rotation = 90f // 直接设置90度旋转(向下箭头效果)
|
||||
ivStatus.rotation = 90f
|
||||
|
||||
if (scrollTo >= 0) {
|
||||
callBack.scrollTo(scrollTo)
|
||||
@@ -77,7 +76,7 @@ class ExploreAdapter(context: Context, val callBack: CallBack) :
|
||||
}
|
||||
} else {
|
||||
ivStatus.icon = ContextCompat.getDrawable(context, R.drawable.ic_arrow_right)
|
||||
ivStatus.rotation = 0f // 重置为0度(向右箭头)
|
||||
ivStatus.rotation = 0f
|
||||
recyclerFlexbox(flexbox)
|
||||
flexbox.gone()
|
||||
}
|
||||
|
||||
@@ -63,28 +63,21 @@ class ExploreFragment() : VMBaseFragment<ExploreViewModel>(R.layout.fragment_exp
|
||||
private val binding by viewBinding(FragmentExploreBinding::bind)
|
||||
private val adapter by lazy { ExploreAdapter(requireContext(), this) }
|
||||
private val linearLayoutManager by lazy { LinearLayoutManager(context) }
|
||||
private val searchView: SearchView by lazy {
|
||||
binding.titleBar.findViewById(R.id.search_view)
|
||||
}
|
||||
private val searchView: SearchView by lazy { binding.searchLayout.searchView }
|
||||
private val diffItemCallBack = ExploreDiffItemCallBack()
|
||||
private val groups = linkedSetOf<String>()
|
||||
private var exploreFlowJob: Job? = null
|
||||
private var groupsMenu: SubMenu? = null
|
||||
|
||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||
setSupportToolbar(binding.titleBar.toolbar)
|
||||
setSupportToolbar(binding.topBar)
|
||||
initSearchView()
|
||||
initRecyclerView()
|
||||
initGroupData()
|
||||
upExploreData()
|
||||
}
|
||||
|
||||
override fun onCompatCreateOptionsMenu(menu: Menu) {
|
||||
super.onCompatCreateOptionsMenu(menu)
|
||||
menuInflater.inflate(R.menu.main_explore, menu)
|
||||
groupsMenu = menu.findItem(R.id.menu_group)?.subMenu
|
||||
upGroupsMenu()
|
||||
}
|
||||
|
||||
|
||||
override fun onPause() {
|
||||
super.onPause()
|
||||
|
||||
@@ -53,7 +53,7 @@ class MyFragment() : BaseFragment(R.layout.fragment_my_config), MainFragmentInte
|
||||
private val binding by viewBinding(FragmentMyConfigBinding::bind)
|
||||
|
||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||
setSupportToolbar(binding.titleBar.toolbar)
|
||||
setSupportToolbar(binding.topBar)
|
||||
val fragmentTag = "prefFragment"
|
||||
var preferenceFragment = childFragmentManager.findFragmentByTag(fragmentTag)
|
||||
if (preferenceFragment == null) preferenceFragment = MyPreferenceFragment()
|
||||
|
||||
@@ -62,16 +62,14 @@ class RssFragment() : VMBaseFragment<RssViewModel>(R.layout.fragment_rss),
|
||||
private val adapter by lazy {
|
||||
RssAdapter(requireContext(), this, this, viewLifecycleOwner.lifecycle)
|
||||
}
|
||||
private val searchView: SearchView by lazy {
|
||||
binding.titleBar.findViewById(R.id.search_view)
|
||||
}
|
||||
private val searchView: SearchView by lazy { binding.searchLayout.searchView }
|
||||
private var groupsFlowJob: Job? = null
|
||||
private var rssFlowJob: Job? = null
|
||||
private val groups = linkedSetOf<String>()
|
||||
private var groupsMenu: SubMenu? = null
|
||||
|
||||
override fun onFragmentCreated(view: View, savedInstanceState: Bundle?) {
|
||||
setSupportToolbar(binding.titleBar.toolbar)
|
||||
setSupportToolbar(binding.topBar)
|
||||
initSearchView()
|
||||
initRecyclerView()
|
||||
initGroupData()
|
||||
|
||||
@@ -31,11 +31,11 @@ open class WelcomeActivity : BaseActivity<ActivityWelcomeBinding>() {
|
||||
}
|
||||
}
|
||||
|
||||
override fun setupSystemBar() {
|
||||
fullScreen()
|
||||
//setStatusBarColorAuto(backgroundColor, true, fullScreen)
|
||||
upNavigationBarColor()
|
||||
}
|
||||
// override fun setupSystemBar() {
|
||||
// fullScreen()
|
||||
// //setStatusBarColorAuto(backgroundColor, true, fullScreen)
|
||||
// upNavigationBarColor()
|
||||
// }
|
||||
|
||||
override fun upBackgroundImage() {
|
||||
if (getPrefBoolean(PreferKey.customWelcome)) {
|
||||
|
||||
@@ -38,10 +38,10 @@ class SearchView @JvmOverloads constructor(
|
||||
try {
|
||||
if (textView == null) {
|
||||
textView = findViewById(androidx.appcompat.R.id.search_src_text)
|
||||
mSearchHintIcon = this.context.getDrawable(R.drawable.ic_search_hint)
|
||||
//mSearchHintIcon = this.context.getDrawable(R.drawable.ic_search_hint)
|
||||
}
|
||||
// 改变字体
|
||||
textView!!.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14f)
|
||||
//textView!!.setTextSize(TypedValue.COMPLEX_UNIT_SP, 14f)
|
||||
textView!!.gravity = Gravity.CENTER_VERTICAL
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.VANILLA_ICE_CREAM) {
|
||||
textView!!.isLocalePreferredLineHeightForMinimumUsed = false
|
||||
|
||||
@@ -7,6 +7,7 @@ import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.util.AttributeSet
|
||||
import android.util.TypedValue
|
||||
import android.view.MotionEvent
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
@@ -288,7 +289,6 @@ class FastScroller : LinearLayout {
|
||||
visibility = if (enabled) View.VISIBLE else View.INVISIBLE
|
||||
}
|
||||
|
||||
@Suppress("DEPRECATION")
|
||||
@SuppressLint("ClickableViewAccessibility")
|
||||
override fun onTouchEvent(event: MotionEvent): Boolean {
|
||||
when (event.action) {
|
||||
@@ -413,7 +413,7 @@ class FastScroller : LinearLayout {
|
||||
}
|
||||
|
||||
private fun isViewVisible(view: View?): Boolean {
|
||||
return view != null && view.visibility == View.VISIBLE
|
||||
return view != null && view.isVisible
|
||||
}
|
||||
|
||||
private fun cancelAnimation(animator: ViewPropertyAnimator?) {
|
||||
@@ -492,7 +492,7 @@ class FastScroller : LinearLayout {
|
||||
|
||||
private fun setHandleSelected(selected: Boolean) {
|
||||
mHandleView.isSelected = selected
|
||||
DrawableCompat.setTint(mHandleImage!!, if (selected) mBubbleColor else mHandleColor)
|
||||
DrawableCompat.setTint(mHandleImage!!, if (selected) mHandleColor else mHandleColor)
|
||||
}
|
||||
|
||||
private fun layout(context: Context, attrs: AttributeSet?) {
|
||||
@@ -503,21 +503,24 @@ class FastScroller : LinearLayout {
|
||||
mHandleView = findViewById(R.id.fastscroll_handle)
|
||||
mTrackView = findViewById(R.id.fastscroll_track)
|
||||
mScrollbar = findViewById(R.id.fastscroll_scrollbar)
|
||||
// @ColorInt var bubbleColor = ColorUtils.adjustAlpha(context.accentColor, 0.8f)
|
||||
// @ColorInt var handleColor = context.accentColor
|
||||
@ColorInt var trackColor = context.getCompatColor(R.color.transparent30)
|
||||
// @ColorInt var textColor =
|
||||
// if (ColorUtils.isColorLight(bubbleColor)) Color.BLACK else Color.WHITE
|
||||
mHandleImage = mHandleView.drawable?.mutate()
|
||||
val typedValue = TypedValue()
|
||||
context.theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue, true)
|
||||
val defaultColor = typedValue.data
|
||||
var bubbleColor = defaultColor
|
||||
var handleColor = defaultColor
|
||||
var trackColor = defaultColor
|
||||
var textColor = defaultColor
|
||||
var fadeScrollbar = true
|
||||
var showBubble = false
|
||||
var showTrack = true
|
||||
if (attrs != null) {
|
||||
val typedArray = context.obtainStyledAttributes(attrs, R.styleable.FastScroller, 0, 0)
|
||||
try {
|
||||
// bubbleColor = typedArray.getColor(R.styleable.FastScroller_bubbleColor, bubbleColor)
|
||||
// handleColor = typedArray.getColor(R.styleable.FastScroller_handleColor, handleColor)
|
||||
bubbleColor = typedArray.getColor(R.styleable.FastScroller_bubbleColor, bubbleColor)
|
||||
handleColor = typedArray.getColor(R.styleable.FastScroller_handleColor, handleColor)
|
||||
trackColor = typedArray.getColor(R.styleable.FastScroller_trackColor, trackColor)
|
||||
// textColor = typedArray.getColor(R.styleable.FastScroller_bubbleTextColor, textColor)
|
||||
textColor = typedArray.getColor(R.styleable.FastScroller_bubbleTextColor, textColor)
|
||||
fadeScrollbar =
|
||||
typedArray.getBoolean(R.styleable.FastScroller_fadeScrollbar, fadeScrollbar)
|
||||
showBubble = typedArray.getBoolean(R.styleable.FastScroller_showBubble, showBubble)
|
||||
@@ -527,9 +530,9 @@ class FastScroller : LinearLayout {
|
||||
}
|
||||
}
|
||||
setTrackColor(trackColor)
|
||||
// setHandleColor(handleColor)
|
||||
// setBubbleColor(bubbleColor)
|
||||
// setBubbleTextColor(textColor)
|
||||
setHandleColor(handleColor)
|
||||
setBubbleColor(bubbleColor)
|
||||
setBubbleTextColor(textColor)
|
||||
setFadeScrollbar(fadeScrollbar)
|
||||
setBubbleVisible(showBubble)
|
||||
setTrackVisible(showTrack)
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<!-- 角度 -->
|
||||
<corners android:radius="35dp"/>
|
||||
<corners android:radius="36dp"/>
|
||||
<!-- 填充色 -->
|
||||
<solid android:color="@color/transparent10" />
|
||||
<!-- 描边 设置线宽及颜色 -->
|
||||
<stroke
|
||||
android:color="@color/transparent10"
|
||||
android:width="0.5dp" />
|
||||
<solid android:color="?attr/colorSurfaceContainer" />
|
||||
</shape>
|
||||
@@ -18,7 +18,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:shape="rectangle">
|
||||
|
||||
<tools:solid android:color="#555555" />
|
||||
<solid android:color="?attr/colorPrimary" />
|
||||
|
||||
<corners android:radius="@dimen/fastscroll_handle_radius" />
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:shape="rectangle">
|
||||
|
||||
<tools:solid android:color="#CCCCCC" />
|
||||
<tools:solid android:color="@color/transparent" />
|
||||
|
||||
<size android:width="@dimen/fastscroll_track_width" />
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M260,440L480,80L700,440L260,440ZM700,880Q625,880 572.5,827.5Q520,775 520,700Q520,625 572.5,572.5Q625,520 700,520Q775,520 827.5,572.5Q880,625 880,700Q880,775 827.5,827.5Q775,880 700,880ZM120,860L120,540L440,540L440,860L120,860ZM700,800Q742,800 771,771Q800,742 800,700Q800,658 771,629Q742,600 700,600Q658,600 629,629Q600,658 600,700Q600,742 629,771Q658,800 700,800ZM200,780L360,780L360,620L200,620L200,780ZM402,360L558,360L480,234L402,360ZM480,360L480,360L480,360ZM360,620L360,620L360,620L360,620ZM700,700Q700,700 700,700Q700,700 700,700Q700,700 700,700Q700,700 700,700Q700,700 700,700Q700,700 700,700Q700,700 700,700Q700,700 700,700Z"/>
|
||||
<path android:fillColor="@android:color/white" android:pathData="M856,570L570,856Q558,868 543,874Q528,880 513,880Q498,880 483,874Q468,868 456,856L103,503Q92,492 86,477.5Q80,463 80,447L80,160Q80,127 103.5,103.5Q127,80 160,80L447,80Q463,80 478,86.5Q493,93 504,104L856,457Q868,469 873.5,484Q879,499 879,514Q879,529 873.5,543.5Q868,558 856,570ZM513,800L799,514Q799,514 799,514Q799,514 799,514L446,160L160,160Q160,160 160,160Q160,160 160,160L160,446Q160,446 160,446Q160,446 160,446L513,800Q513,800 513,800Q513,800 513,800ZM260,320Q285,320 302.5,302.5Q320,285 320,260Q320,235 302.5,217.5Q285,200 260,200Q235,200 217.5,217.5Q200,235 200,260Q200,285 217.5,302.5Q235,320 260,320ZM480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480L480,480Q480,480 480,480Q480,480 480,480L480,480L480,480Q480,480 480,480Q480,480 480,480Z"/>
|
||||
</vector>
|
||||
@@ -1,9 +1,3 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z" />
|
||||
</vector>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,840L422,788Q321,697 255,631Q189,565 150,512.5Q111,460 95.5,416Q80,372 80,326Q80,232 143,169Q206,106 300,106Q352,106 399,128Q446,150 480,190Q514,150 561,128Q608,106 660,106Q754,106 817,169Q880,232 880,326Q880,372 864.5,416Q849,460 810,512.5Q771,565 705,631Q639,697 538,788L480,840ZM480,732Q576,646 638,584.5Q700,523 736,477.5Q772,432 786,396.5Q800,361 800,326Q800,266 760,226Q720,186 660,186Q613,186 573,212.5Q533,239 518,280L518,280L442,280L442,280Q427,239 387,212.5Q347,186 300,186Q240,186 200,226Q160,266 160,326Q160,361 174,396.5Q188,432 224,477.5Q260,523 322,584.5Q384,646 480,732ZM480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459L480,459L480,459L480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Q480,459 480,459Z"/>
|
||||
</vector>
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- res/drawable/ripple_btn.xml -->
|
||||
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:color="?android:attr/colorControlHighlight">
|
||||
android:color="?attr/colorControlHighlight">
|
||||
<item android:drawable="@drawable/shape_fillet_btn" />
|
||||
<item android:id="@android:id/mask"
|
||||
android:drawable="@drawable/shape_fillet_btn" />
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="16dp" />
|
||||
<solid android:color="@color/btn_bg_press" />
|
||||
<solid android:color="?attr/colorSurfaceContainer" />
|
||||
</shape>
|
||||
@@ -23,7 +23,7 @@
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="120dp"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
|
||||
app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:navigationIcon="@drawable/ic_arrow_back"
|
||||
app:title=" "
|
||||
app:layout_collapseMode="parallax" />
|
||||
app:layout_collapseMode="pin" />
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
@@ -15,10 +15,12 @@
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:title="搜索" />
|
||||
|
||||
<io.legado.app.ui.widget.anima.RefreshProgressBar
|
||||
<com.google.android.material.progressindicator.LinearProgressIndicator
|
||||
android:id="@+id/refresh_progress_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="2dp"
|
||||
android:visibility="gone"
|
||||
android:indeterminate="true"
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar" />
|
||||
|
||||
<io.legado.app.ui.widget.dynamiclayout.DynamicFrameLayout
|
||||
|
||||
@@ -77,6 +77,7 @@
|
||||
android:id="@+id/tab_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:tabMode="fixed"
|
||||
tools:ignore="SpeakableTextPresentCheck" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
|
||||
@@ -18,11 +18,10 @@
|
||||
android:id="@+id/lay_top"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:elevation="1dp"
|
||||
android:gravity="center_vertical"
|
||||
android:minHeight="36dp"
|
||||
android:orientation="horizontal"
|
||||
android:padding="8dp"
|
||||
android:paddingHorizontal="16dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/titleBar">
|
||||
|
||||
<TextView
|
||||
@@ -33,23 +32,16 @@
|
||||
android:focusable="true"
|
||||
android:gravity="center_vertical"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/secondaryText"
|
||||
android:textSize="13sp"
|
||||
android:textSize="14sp"
|
||||
tools:text="/" />
|
||||
|
||||
<io.legado.app.ui.widget.text.StrokeTextView
|
||||
<com.google.android.material.button.MaterialButton
|
||||
android:id="@+id/tv_go_back"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_margin="4dp"
|
||||
android:gravity="center"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:text="@string/go_back"
|
||||
android:textFontWeight="800"
|
||||
android:textSize="14sp"
|
||||
app:cornerRadius="5dp"
|
||||
android:layout_width="36dp"
|
||||
android:layout_height="36dp"
|
||||
style="@style/Widget.Material3.Button.IconButton.Filled.Tonal"
|
||||
app:icon="@drawable/ic_return"
|
||||
app:iconGravity="textStart"
|
||||
tools:ignore="UnusedAttribute" />
|
||||
</LinearLayout>
|
||||
|
||||
|
||||
@@ -18,8 +18,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:padding="6dp"
|
||||
android:text="@string/group_style"
|
||||
android:textColor="@color/primaryText" />
|
||||
android:text="@string/group_style" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatSpinner
|
||||
android:id="@+id/sp_group_style"
|
||||
@@ -75,7 +74,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@+id/sw_show_bookshelf_fast_scroller"
|
||||
app:layout_constraintLeft_toLeftOf="parent">
|
||||
|
||||
<io.legado.app.ui.widget.text.AccentTextView
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="6dp"
|
||||
@@ -88,31 +87,31 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/layout_list"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/layout_grid3"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/layout_grid4"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/layout_grid5"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/layout_grid6"
|
||||
@@ -130,7 +129,7 @@
|
||||
app:layout_constraintTop_toBottomOf="@id/sw_show_bookshelf_fast_scroller"
|
||||
app:layout_constraintRight_toRightOf="parent">
|
||||
|
||||
<io.legado.app.ui.widget.text.AccentTextView
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="6dp"
|
||||
@@ -143,37 +142,37 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical">
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/bookshelf_px_0"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/bookshelf_px_1"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/bookshelf_px_2"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/bookshelf_px_3"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/bookshelf_px_4"
|
||||
tools:ignore="TouchTargetSizeCheck" />
|
||||
|
||||
<RadioButton
|
||||
<com.google.android.material.radiobutton.MaterialRadioButton
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/bookshelf_px_5"
|
||||
|
||||
@@ -10,16 +10,14 @@
|
||||
android:id="@+id/tool_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="?attr/actionBarStyle"
|
||||
android:layout_margin="4dp"/>
|
||||
android:theme="?attr/actionBarStyle" />
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"
|
||||
android:padding="16dp">
|
||||
android:layout_weight="1">
|
||||
|
||||
<io.legado.app.ui.widget.recycler.scroller.FastScrollRecyclerView
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="16dp">
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/shape_card_view"
|
||||
android:orientation="vertical"
|
||||
tools:ignore="UselessParent">
|
||||
|
||||
@@ -82,4 +81,4 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
</FrameLayout>
|
||||
</LinearLayout>
|
||||
@@ -12,16 +12,12 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:attachToActivity="false"
|
||||
android:fitsSystemWindows="true"
|
||||
app:title="@string/bookshelf">
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="120dp"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:expandedTitleMarginStart="24dp"
|
||||
app:title="@string/bookshelf"
|
||||
app:titleEnabled="true"
|
||||
app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
|
||||
|
||||
@@ -29,6 +25,7 @@
|
||||
android:id="@+id/top_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:title="@string/bookshelf"
|
||||
app:layout_collapseMode="pin" />
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
@@ -1,27 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<io.legado.app.ui.widget.TitleBar
|
||||
android:id="@+id/title_bar"
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:attachToActivity="false"
|
||||
app:contentLayout="@layout/view_search"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:title="@string/discovery" />
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<io.legado.app.ui.widget.recycler.RecyclerViewAtPager2
|
||||
android:id="@+id/rv_find"
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="120dp"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
|
||||
app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/top_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:title="@string/discovery"
|
||||
app:layout_collapseMode="pin" />
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
|
||||
<include
|
||||
android:id="@+id/search_layout"
|
||||
layout="@layout/view_search"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginHorizontal="16dp" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title_bar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
tools:listitem="@layout/item_find_book" />
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<io.legado.app.ui.widget.recycler.RecyclerViewAtPager2
|
||||
android:id="@+id/rv_find"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:listitem="@layout/item_find_book" />
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_empty_msg"
|
||||
@@ -31,10 +59,9 @@
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
android:text="@string/explore_empty"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title_bar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_anchor="@id/app_bar"
|
||||
app:layout_anchorGravity="bottom|center"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
tools:text="TextView" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -1,21 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<io.legado.app.ui.widget.TitleBar
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/title_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:attachToActivity="false"
|
||||
app:title="@string/my" />
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="120dp"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed"
|
||||
app:title="@string/my"
|
||||
app:titleEnabled="true"
|
||||
app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/top_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:layout_collapseMode="pin" />
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/pre_fragment"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical" />
|
||||
android:orientation="vertical"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
|
||||
|
||||
</LinearLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -1,29 +1,58 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:orientation="vertical">
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<io.legado.app.ui.widget.TitleBar
|
||||
android:id="@+id/title_bar"
|
||||
<com.google.android.material.appbar.AppBarLayout
|
||||
android:id="@+id/app_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:attachToActivity="false"
|
||||
app:contentLayout="@layout/view_search"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:title="@string/rss" />
|
||||
android:fitsSystemWindows="true">
|
||||
|
||||
<io.legado.app.ui.widget.recycler.RecyclerViewAtPager2
|
||||
android:id="@+id/recycler_view"
|
||||
<com.google.android.material.appbar.CollapsingToolbarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="120dp"
|
||||
android:fitsSystemWindows="true"
|
||||
app:layout_scrollFlags="scroll|exitUntilCollapsed|snap"
|
||||
app:collapsedTitleTextAppearance="@style/TextAppearance.Material3.TitleLarge"
|
||||
app:expandedTitleTextAppearance="@style/TextAppearance.Material3.HeadlineMedium">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/top_bar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
app:title="@string/discovery"
|
||||
app:layout_collapseMode="pin" />
|
||||
|
||||
</com.google.android.material.appbar.CollapsingToolbarLayout>
|
||||
|
||||
<include
|
||||
android:id="@+id/search_layout"
|
||||
layout="@layout/view_search"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
android:layout_marginHorizontal="16dp" />
|
||||
|
||||
</com.google.android.material.appbar.AppBarLayout>
|
||||
|
||||
<androidx.core.widget.NestedScrollView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/title_bar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:spanCount="4"
|
||||
tools:listitem="@layout/item_rss" />
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior">
|
||||
|
||||
<io.legado.app.ui.widget.recycler.RecyclerViewAtPager2
|
||||
android:id="@+id/recycler_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
|
||||
app:spanCount="4"
|
||||
tools:listitem="@layout/item_rss" />
|
||||
|
||||
</androidx.core.widget.NestedScrollView>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_empty_msg"
|
||||
@@ -33,10 +62,9 @@
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
android:text="@string/rss_source_empty"
|
||||
app:layout_constraintTop_toBottomOf="@+id/title_bar"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_anchor="@id/app_bar"
|
||||
app:layout_anchorGravity="bottom|center"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
tools:text="TextView" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.coordinatorlayout.widget.CoordinatorLayout>
|
||||
@@ -9,7 +9,7 @@
|
||||
android:padding="16dp"
|
||||
android:scrollbars="none">
|
||||
|
||||
<io.legado.app.ui.widget.text.AccentTextView
|
||||
<TextView
|
||||
android:id="@+id/tv_host_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -39,7 +39,6 @@
|
||||
android:layout_gravity="center"
|
||||
android:scrollbars="none"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/primaryText"
|
||||
app:layout_constraintBottom_toTopOf="@id/iv_debug_text"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/swt_enabled"
|
||||
@@ -69,7 +68,6 @@
|
||||
android:padding="6dp"
|
||||
android:scrollbars="none"
|
||||
android:src="@drawable/ic_edit"
|
||||
android:tint="@color/primaryText"
|
||||
app:layout_constraintBottom_toTopOf="@id/iv_debug_text"
|
||||
app:layout_constraintRight_toLeftOf="@id/iv_menu_more"
|
||||
app:layout_constraintTop_toBottomOf="@id/barrier" />
|
||||
@@ -83,7 +81,6 @@
|
||||
android:padding="6dp"
|
||||
android:scrollbars="none"
|
||||
android:src="@drawable/ic_more_vert"
|
||||
android:tint="@color/primaryText"
|
||||
app:layout_constraintBottom_toTopOf="@id/iv_debug_text"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/barrier"
|
||||
@@ -114,7 +111,7 @@
|
||||
tools:text="@string/debug_hint"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<io.legado.app.lib.theme.view.ThemeProgressBar
|
||||
<ProgressBar
|
||||
android:id="@+id/iv_progressBar"
|
||||
android:layout_width="25dp"
|
||||
android:layout_height="25dp"
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:padding="8dp">
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:padding="16dp">
|
||||
|
||||
<io.legado.app.lib.theme.view.ThemeCheckBox
|
||||
android:id="@+id/cb_name"
|
||||
@@ -31,8 +32,7 @@
|
||||
android:background="?android:attr/selectableItemBackgroundBorderless"
|
||||
android:contentDescription="@string/edit"
|
||||
android:padding="6dp"
|
||||
android:src="@drawable/ic_edit"
|
||||
android:tint="@color/primaryText" />
|
||||
android:src="@drawable/ic_edit" />
|
||||
|
||||
<androidx.appcompat.widget.AppCompatImageView
|
||||
android:id="@+id/iv_delete"
|
||||
@@ -40,8 +40,7 @@
|
||||
android:layout_height="36dp"
|
||||
android:padding="6dp"
|
||||
android:background="?attr/selectableItemBackgroundBorderless"
|
||||
android:src="@drawable/ic_outline_delete"
|
||||
android:tint="@color/primaryText"
|
||||
android:src="@drawable/ic_clear_all"
|
||||
android:contentDescription="@string/delete"
|
||||
tools:ignore="RtlHardcoded" />
|
||||
|
||||
|
||||
@@ -4,15 +4,13 @@
|
||||
android:id="@+id/text_view"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_margin="6dp"
|
||||
android:background="@drawable/selector_fillet_btn_bg"
|
||||
android:ellipsize="end"
|
||||
android:gravity="center"
|
||||
android:paddingTop="6dp"
|
||||
android:paddingBottom="6dp"
|
||||
android:paddingLeft="12dp"
|
||||
android:paddingRight="12dp"
|
||||
android:paddingTop="8dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:paddingStart="16dp"
|
||||
android:paddingEnd="16dp"
|
||||
android:maxLines="1"
|
||||
android:textColor="@color/primaryText"
|
||||
android:textSize="14sp"
|
||||
tools:ignore="UnusedAttribute" />
|
||||
|
||||
@@ -39,10 +39,7 @@
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="start">
|
||||
|
||||
|
||||
<com.google.android.flexbox.FlexboxLayout
|
||||
android:id="@+id/flexbox"
|
||||
@@ -50,13 +47,12 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:clipToPadding="false"
|
||||
android:overScrollMode="never"
|
||||
android:layout_marginTop="6dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:visibility="gone"
|
||||
app:dividerDrawable="@drawable/shape_space_divider"
|
||||
app:flexDirection="row"
|
||||
app:flexWrap="wrap"
|
||||
app:showDivider="middle" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
</LinearLayout>
|
||||
@@ -7,7 +7,7 @@
|
||||
android:background="?attr/selectableItemBackground"
|
||||
android:clickable="true"
|
||||
android:focusable="true"
|
||||
android:padding="12dp">
|
||||
android:padding="16dp">
|
||||
|
||||
<io.legado.app.lib.theme.view.ThemeCheckBox
|
||||
android:id="@+id/cb_source"
|
||||
@@ -15,7 +15,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="start"
|
||||
android:singleLine="true"
|
||||
android:textColor="@color/primaryText"
|
||||
app:layout_constraintBottom_toTopOf="@id/title_example"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toLeftOf="@id/swt_enabled"
|
||||
@@ -43,7 +42,6 @@
|
||||
android:contentDescription="@string/edit"
|
||||
android:padding="6dp"
|
||||
android:src="@drawable/ic_edit"
|
||||
android:tint="@color/primaryText"
|
||||
app:layout_constraintBottom_toTopOf="@id/title_example"
|
||||
app:layout_constraintRight_toLeftOf="@id/iv_menu_more"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
@@ -56,7 +54,6 @@
|
||||
android:contentDescription="@string/more_menu"
|
||||
android:padding="6dp"
|
||||
android:src="@drawable/ic_more_vert"
|
||||
android:tint="@color/primaryText"
|
||||
app:layout_constraintBottom_toTopOf="@id/title_example"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
android:visibility="gone"
|
||||
tools:background="@drawable/fastscroll_bubble"
|
||||
tools:text="A"
|
||||
tools:textColor="#ffffff"
|
||||
tools:textColor="?attr/colorPrimary"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<FrameLayout
|
||||
@@ -30,7 +30,7 @@
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="center_horizontal"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:src="@drawable/fastscroll_track" />
|
||||
android:src="@drawable/fastscroll_track" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/fastscroll_handle"
|
||||
@@ -40,7 +40,7 @@
|
||||
android:paddingEnd="@dimen/fastscroll_scrollbar_padding_end"
|
||||
android:paddingStart="@dimen/fastscroll_scrollbar_padding_start"
|
||||
tools:ignore="ContentDescription"
|
||||
tools:src="@drawable/fastscroll_handle" />
|
||||
android:src="@drawable/fastscroll_handle" />
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
@@ -26,8 +26,7 @@
|
||||
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="2dp"
|
||||
android:layout_weight="1.0"
|
||||
android:layout_weight="1"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
@@ -36,14 +35,12 @@
|
||||
android:singleLine="true"
|
||||
android:textSize="16sp"
|
||||
android:text="@string/title"
|
||||
android:textColor="@color/primaryText"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/preference_desc"
|
||||
android:textSize="12sp"
|
||||
android:textColor="@color/tv_text_summary"
|
||||
android:text="@string/default1"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -6,27 +6,16 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical" >
|
||||
|
||||
<View
|
||||
android:id="@+id/preference_divider_above"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="8dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/preference_title"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingBottom="8dp"
|
||||
android:background="@drawable/bg_prefs_color"
|
||||
android:paddingLeft="16dp"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="123"
|
||||
android:textColor="@color/md_light_primary_text"
|
||||
android:textColor="?attr/colorPrimary"
|
||||
tools:ignore="RtlHardcoded,RtlSymmetry" />
|
||||
|
||||
<View
|
||||
android:id="@+id/preference_divider_below"
|
||||
android:layout_width="match_parent"
|
||||
android:visibility="gone"
|
||||
android:layout_height="8dp" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,19 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<io.legado.app.ui.widget.SearchView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/search_view"
|
||||
android:theme="?attr/actionBarStyle"
|
||||
android:background="@drawable/bg_searchview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="36dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginBottom="10dp"
|
||||
android:imeOptions="actionSearch"
|
||||
android:focusable="false"
|
||||
app:searchIcon="@null"
|
||||
app:queryBackground="@null"
|
||||
app:submitBackground="@null"
|
||||
app:searchHintIcon="@drawable/ic_search_hint"
|
||||
app:iconifiedByDefault="false"
|
||||
app:defaultQueryHint="搜索"/>
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:id="@+id/search_view"
|
||||
android:theme="?attr/actionBarStyle"
|
||||
android:background="@drawable/bg_searchview"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="40dp"
|
||||
android:layout_marginTop="8dp"
|
||||
android:layout_marginBottom="8dp"
|
||||
android:imeOptions="actionSearch"
|
||||
android:focusable="false"
|
||||
app:searchIcon="@null"
|
||||
app:queryBackground="@null"
|
||||
app:submitBackground="@null"
|
||||
app:iconifiedByDefault="false"
|
||||
app:defaultQueryHint="搜索"/>
|
||||
@@ -4,9 +4,9 @@
|
||||
|
||||
<item
|
||||
android:id="@+id/menu_group"
|
||||
android:showAsAction="always"
|
||||
android:title="@string/group"
|
||||
android:icon="@drawable/ic_groups">
|
||||
android:icon="@drawable/ic_groups"
|
||||
app:showAsAction="always">
|
||||
|
||||
<menu />
|
||||
|
||||
|
||||
@@ -14,9 +14,7 @@
|
||||
android:title="@string/group"
|
||||
android:icon="@drawable/ic_groups"
|
||||
app:showAsAction="always">
|
||||
|
||||
<menu />
|
||||
|
||||
</item>
|
||||
|
||||
<item
|
||||
|
||||
@@ -1,5 +1,11 @@
|
||||
<resources>
|
||||
|
||||
<style name="Base.AppTheme" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
<item name="tabStyle">@style/Widget.App.TabLayout</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Dark">
|
||||
|
||||
</style>
|
||||
|
||||
@@ -24,11 +24,11 @@
|
||||
<dimen name="fastscroll_bubble_textsize">48sp</dimen>
|
||||
<dimen name="fastscroll_bubble_padding">16dp</dimen>
|
||||
|
||||
<dimen name="fastscroll_handle_height">40dp</dimen>
|
||||
<dimen name="fastscroll_handle_width">8dp</dimen>
|
||||
<dimen name="fastscroll_handle_radius">4dp</dimen>
|
||||
<dimen name="fastscroll_handle_height">48dp</dimen>
|
||||
<dimen name="fastscroll_handle_width">16dp</dimen>
|
||||
<dimen name="fastscroll_handle_radius">8dp</dimen>
|
||||
|
||||
<dimen name="fastscroll_track_width">2dp</dimen>
|
||||
<dimen name="fastscroll_track_width">8dp</dimen>
|
||||
|
||||
<dimen name="fastscroll_scrollbar_margin_top">8dp</dimen>
|
||||
<dimen name="fastscroll_scrollbar_margin_bottom">8dp</dimen>
|
||||
|
||||
@@ -106,11 +106,11 @@
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.AppBarOverlay.Light" parent="ThemeOverlay.Material3.Light">
|
||||
|
||||
<item name="android:windowLightStatusBar">true</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.AppBarOverlay.Dark" parent="ThemeOverlay.Material3.Dark">
|
||||
|
||||
<item name="android:windowLightStatusBar">false</item>
|
||||
</style>
|
||||
|
||||
<!-- <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.Material3">-->
|
||||
|
||||
Reference in New Issue
Block a user