UI commit

This commit is contained in:
yuyl 2025-04-16 19:50:02 +08:00
parent 98f79a30bd
commit 6435dceb4a
9 changed files with 99 additions and 23 deletions

View File

@ -40,7 +40,7 @@ android {
jniDebuggable true
zipAlignEnabled false
shrinkResources false
minifyEnabled true
minifyEnabled false
signingConfig signingConfigs.config
addManifestPlaceholders([
'app_name': 'Mireo Debug'

View File

@ -4,10 +4,15 @@ import android.content.Intent
import android.text.Editable
import android.text.TextUtils
import android.text.TextWatcher
import android.view.KeyEvent
import android.view.inputmethod.EditorInfo
import android.widget.EditText
import android.widget.ImageView
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.hjq.http.EasyHttp
import com.hjq.http.config.IRequestApi
import com.hjq.http.listener.HttpCallbackProxy
import com.localee.mireo.app.R
import com.localee.mireo.app.action.StatusAction
import com.localee.mireo.app.app.AppActivity
@ -18,9 +23,6 @@ import com.localee.mireo.app.other.MsConstants.CONSTANTS_short_play_id
import com.localee.mireo.app.ui.adapter.SearchHotAdapter
import com.localee.mireo.app.ui.adapter.SearchSearchAdapter
import com.localee.mireo.app.widget.StatusLayout
import com.hjq.http.EasyHttp
import com.hjq.http.config.IRequestApi
import com.hjq.http.listener.HttpCallbackProxy
class SearchActivity : AppActivity(), StatusAction {
@ -72,9 +74,24 @@ class SearchActivity : AppActivity(), StatusAction {
override fun afterTextChanged(editable: Editable) {
}
})
etSearch?.setOnEditorActionListener { _, actionId, _ ->
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
true
} else {
false
}
}
etSearch?.setOnKeyListener { _, keyCode, event ->
if (event.action == KeyEvent.ACTION_DOWN && keyCode == KeyEvent.KEYCODE_ENTER) {
true
} else {
false
}
}
mAdapter?.setOnItemClickListener { adapter, view, position ->
val searchHot: com.localee.mireo.app.http.api.SearchHotApi.Bean.Data = adapter.items.get(position)
val searchHot: com.localee.mireo.app.http.api.SearchHotApi.Bean.Data =
adapter.items.get(position)
startActivity(
Intent(
this,
@ -86,7 +103,8 @@ class SearchActivity : AppActivity(), StatusAction {
})
}
mKeyAdapter?.setOnItemClickListener { adapter, view, position ->
val search: com.localee.mireo.app.http.api.SearchSearchApi.Bean.Data = adapter.items.get(position)
val search: com.localee.mireo.app.http.api.SearchSearchApi.Bean.Data =
adapter.items.get(position)
startActivity(
Intent(
this,

View File

@ -110,6 +110,8 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
for (i in detailList.indices) {
if (detailList[i].short_play_id == historyBean.short_play_id) {
detailList.removeAt(i)
viewModel.meToHistoryCheckAction(0)
break
}
}
} else {
@ -189,9 +191,25 @@ class ListTabFragment : TitleBarFragment<HomeActivity>(), OnRefreshLoadMoreListe
}
fun setCancel() {
val allData: List<HistoryBean.Data>? = mAdapter?.items
for (i in allData?.indices!!) {
allData[i].is_check = false
}
detailList.clear()
mAdapter?.selectEdit = !mAdapter?.selectEdit!!
mAdapter?.notifyDataSetChanged()
if (llDelete?.visibility == View.VISIBLE)
llDelete?.visibility = View.GONE
else
llDelete?.visibility = View.VISIBLE
}
fun setAllSelect(isSelect: Boolean) {
val allData: List<HistoryBean.Data>? = mAdapter?.items
if (isSelect) {
detailList.clear()
for (i in allData?.indices!!) {
allData[i].is_check = true
}

View File

@ -1,6 +1,7 @@
package com.localee.mireo.app.ui.fragment
import android.view.View
import android.widget.FrameLayout
import android.widget.ImageView
import android.widget.TextView
import androidx.appcompat.widget.AppCompatCheckBox
@ -32,6 +33,7 @@ class MessageFragment : TitleBarFragment<HomeActivity>(), TabAdapter.OnTabListen
private val tabView: RecyclerView? by lazy { findViewById(R.id.rv_list_tab) }
private val viewPager: ViewPager? by lazy { findViewById(R.id.viewPager) }
private val tvCancel: TextView? by lazy { findViewById(R.id.tv_cancel) }
private val flSelectCheck: FrameLayout? by lazy { findViewById(R.id.fl_select_check) }
private val cbSelectCheck: AppCompatCheckBox? by lazy { findViewById(R.id.cb_select_check) }
private var tabAdapter: TabAdapter? = null
@ -92,7 +94,7 @@ class MessageFragment : TitleBarFragment<HomeActivity>(), TabAdapter.OnTabListen
tvCancel?.visibility = View.VISIBLE
ivMore?.visibility = View.GONE
tabView?.visibility = View.INVISIBLE
cbSelectCheck?.visibility = View.VISIBLE
flSelectCheck?.visibility = View.VISIBLE
listTabOneFragment.setEdit()
}
@ -106,25 +108,37 @@ class MessageFragment : TitleBarFragment<HomeActivity>(), TabAdapter.OnTabListen
tvCancel?.visibility = View.GONE
ivMore?.visibility = View.VISIBLE
tabView?.visibility = View.VISIBLE
cbSelectCheck?.visibility = View.GONE
listTabOneFragment.setEdit()
cbSelectCheck?.isChecked = false
flSelectCheck?.visibility = View.GONE
listTabOneFragment.setCancel()
}
cbSelectCheck?.setOnCheckedChangeListener { buttonView, isChecked ->
if (isChecked) {
listTabOneFragment.setAllSelect(true)
} else {
flSelectCheck?.setOnClickListener {
if (cbSelectCheck?.isChecked == true){
cbSelectCheck?.isChecked = false
listTabOneFragment.setAllSelect(false)
}else{
cbSelectCheck?.isChecked = true
listTabOneFragment.setAllSelect(true)
}
}
// cbSelectCheck?.setOnCheckedChangeListener { buttonView, isChecked ->
// if (isChecked) {
// listTabOneFragment.setAllSelect(true)
// } else {
// listTabOneFragment.setAllSelect(false)
// }
// }
viewModel.listTabAction.observe(this) { data ->
tvCancel?.visibility = View.GONE
ivMore?.visibility = View.VISIBLE
tabView?.visibility = View.VISIBLE
cbSelectCheck?.isChecked = false
cbSelectCheck?.visibility = View.GONE
flSelectCheck?.visibility = View.GONE
listTabOneFragment.setEdit()
}
@ -139,6 +153,10 @@ class MessageFragment : TitleBarFragment<HomeActivity>(), TabAdapter.OnTabListen
}
}
}
viewModel.meToHistoryCheckAction.observe(this) { data ->
cbSelectCheck?.isChecked = false;
}
}

View File

@ -25,4 +25,11 @@ class SharedViewModel : ViewModel() {
fun meToHistoryAction(data: Int) {
_meToHistoryAction.value = data
}
private val _meToHistoryCheckAction = MutableLiveData<Int>()
val meToHistoryCheckAction: LiveData<Int> get() = _meToHistoryCheckAction
fun meToHistoryCheckAction(data: Int) {
_meToHistoryCheckAction.value = data
}
}

View File

@ -10,13 +10,14 @@
android:id="@+id/rl_status_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ll_delete"
app:srlEnablePreviewInEditMode="false">
<com.localee.mireo.app.widget.StatusLayout
android:id="@+id/hl_status_hint"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ll_delete">
>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"

View File

@ -123,6 +123,7 @@
android:drawablePadding="@dimen/dp_3"
android:paddingHorizontal="@dimen/dp_5"
android:text="2%"
android:visibility="gone"
android:textColor="@color/white"
android:textSize="@dimen/sp_9"
app:shape_radiusInBottomRight="@dimen/dp_8"

View File

@ -20,19 +20,31 @@
tools:listitem="@layout/tab_item_design"
tools:spanCount="2" />
<androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/cb_select_check"
<FrameLayout
android:id="@+id/fl_select_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/rv_list_tab"
android:layout_alignBottom="@+id/rv_list_tab"
android:layout_marginLeft="@dimen/sp_15"
android:text=" Select All"
android:textColor="@color/white"
android:gravity="center"
android:visibility="gone"
android:background="@null"
app:buttonCompat="@drawable/checkbox_selector" />
>
<androidx.appcompat.widget.AppCompatCheckBox
android:id="@+id/cb_select_check"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=" Select All"
android:textColor="@color/white"
android:layout_gravity="center"
android:gravity="center"
android:background="@null"
android:clickable="false"
android:focusable="false"
android:focusableInTouchMode="false"
app:buttonCompat="@drawable/checkbox_selector" />
</FrameLayout>
<ImageView
android:id="@+id/iv_more"

View File

@ -32,6 +32,7 @@
android:drawablePadding="@dimen/dp_5"
android:gravity="center_vertical"
android:hint="Search"
android:inputType="text"
android:paddingHorizontal="@dimen/dp_14"
android:textColor="@color/example_color_d9d9d9"
android:textSize="@dimen/sp_12"