Commit 492bcedd authored by songjianyu's avatar songjianyu

[调整] 视频清理,电池信息,大文件清理

parent 98e841a4
...@@ -119,6 +119,9 @@ ...@@ -119,6 +119,9 @@
android:exported="false" android:exported="false"
android:screenOrientation="portrait" android:screenOrientation="portrait"
tools:ignore="DiscouragedApi,LockedOrientationActivity" /> tools:ignore="DiscouragedApi,LockedOrientationActivity" />
<activity
android:name=".ui.videoclean.VideoCleanActivity"
android:exported="false" />
<provider <provider
......
...@@ -38,6 +38,7 @@ import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN ...@@ -38,6 +38,7 @@ import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.bean.FeatureBean.Companion.VIDEO_CLEAN
import com.base.appzxhy.bean.FileBean import com.base.appzxhy.bean.FileBean
import com.base.appzxhy.bean.SimilarBean import com.base.appzxhy.bean.SimilarBean
import com.base.appzxhy.bean.config.AdConfigBean import com.base.appzxhy.bean.config.AdConfigBean
...@@ -54,6 +55,7 @@ import com.base.appzxhy.ui.photocompression.PhotoCompressionActivity ...@@ -54,6 +55,7 @@ import com.base.appzxhy.ui.photocompression.PhotoCompressionActivity
import com.base.appzxhy.ui.recyclebin.RecycleBinUtils import com.base.appzxhy.ui.recyclebin.RecycleBinUtils
import com.base.appzxhy.ui.screenshot.ScreenshotCleanActivity import com.base.appzxhy.ui.screenshot.ScreenshotCleanActivity
import com.base.appzxhy.ui.similar.SimilarPhotosActivity import com.base.appzxhy.ui.similar.SimilarPhotosActivity
import com.base.appzxhy.ui.videoclean.VideoCleanActivity
import com.base.appzxhy.utils.ActivityLauncher import com.base.appzxhy.utils.ActivityLauncher
import com.base.appzxhy.utils.ActivityManagerUtils import com.base.appzxhy.utils.ActivityManagerUtils
import com.base.appzxhy.utils.FileUtils import com.base.appzxhy.utils.FileUtils
...@@ -434,6 +436,10 @@ fun Activity.jumpAction(key: String) { ...@@ -434,6 +436,10 @@ fun Activity.jumpAction(key: String) {
goToAc(JunkCleanActivity::class.java) goToAc(JunkCleanActivity::class.java)
} }
VIDEO_CLEAN -> {
goToAc(VideoCleanActivity::class.java)
}
LARGE_FILE_CLEAN -> { LARGE_FILE_CLEAN -> {
goToAc(LargeFileCleanActivity::class.java) goToAc(LargeFileCleanActivity::class.java)
} }
......
...@@ -10,6 +10,7 @@ class FeatureBean( ...@@ -10,6 +10,7 @@ class FeatureBean(
companion object { companion object {
const val JUNK_CLEAN = "junk_clean" const val JUNK_CLEAN = "junk_clean"
const val VIDEO_CLEAN = "video_clean"
const val BATTERY_INFO = "battery_info" const val BATTERY_INFO = "battery_info"
const val SCREENSHOT_CLEAN = "screenshot_clean" const val SCREENSHOT_CLEAN = "screenshot_clean"
const val LARGE_FILE_CLEAN = "large_file_clean" const val LARGE_FILE_CLEAN = "large_file_clean"
......
...@@ -82,7 +82,7 @@ object LimitUtils { ...@@ -82,7 +82,7 @@ object LimitUtils {
fun isAdShow(adsType: AdsType, adEvent: AdEvent?): Boolean { fun isAdShow(adsType: AdsType, adEvent: AdEvent?): Boolean {
if (BuildConfig.DEBUG) { if (BuildConfig.DEBUG) {
return true return false
} }
val currentDate = System.currentTimeMillis().toFormatTime4() val currentDate = System.currentTimeMillis().toFormatTime4()
......
...@@ -7,6 +7,7 @@ import android.text.SpannableString ...@@ -7,6 +7,7 @@ import android.text.SpannableString
import android.text.style.AbsoluteSizeSpan import android.text.style.AbsoluteSizeSpan
import android.text.style.StyleSpan import android.text.style.StyleSpan
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.TextView
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.databinding.ItemBatteryHeadBinding import com.base.appzxhy.databinding.ItemBatteryHeadBinding
import com.base.appzxhy.ui.adapter.CommonViewHolder import com.base.appzxhy.ui.adapter.CommonViewHolder
...@@ -14,8 +15,11 @@ import com.base.appzxhy.utils.XmlEx.inflate ...@@ -14,8 +15,11 @@ import com.base.appzxhy.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.BaseQuickAdapter
class BatteryHead( class BatteryHead(
val hour: Int,
val min: Int, val min: Int,
val p: Float = 0.50f,
val temper: String = "36℃",
val v: String = "3.6V",
val power: String = "4753mAh",
) )
class BatteryHeadAdapter : BaseQuickAdapter<BatteryHead, CommonViewHolder>() { class BatteryHeadAdapter : BaseQuickAdapter<BatteryHead, CommonViewHolder>() {
...@@ -23,28 +27,41 @@ class BatteryHeadAdapter : BaseQuickAdapter<BatteryHead, CommonViewHolder>() { ...@@ -23,28 +27,41 @@ class BatteryHeadAdapter : BaseQuickAdapter<BatteryHead, CommonViewHolder>() {
override fun onBindViewHolder( override fun onBindViewHolder(
holder: CommonViewHolder, holder: CommonViewHolder,
position: Int, position: Int,
item: BatteryHead? item: BatteryHead?,
) { ) {
item ?: return item ?: return
val binding = ItemBatteryHeadBinding.bind(holder.itemView) val binding = ItemBatteryHeadBinding.bind(holder.itemView)
binding.tvCapacity.text = "${(item.p * 100).toInt()}%"
val h = if (item.hour < 10) "0${item.hour}" else item.hour.toString() binding.iv.setImageLevel((item.p * 100).toInt())
val min = if (item.min < 10) "0${item.min}" else item.min.toString()
val text1 = "$h h "
val text2 = "$min m"
binding.tvTime.text = buildSpannableString(text1, h) setText(binding.tvTime, item.min)
binding.tvTime.append(buildSpannableString(text2, min)) setText(binding.tvVideo, (item.min * 0.5).toInt())
setText(binding.tvMusic, (item.min * 0.8).toInt())
binding.tvWendu.text = item.temper
binding.tvV.text = item.v
binding.tvAh.text = item.power
} }
override fun onCreateViewHolder( override fun onCreateViewHolder(
context: Context, context: Context,
parent: ViewGroup, parent: ViewGroup,
viewType: Int viewType: Int,
): CommonViewHolder { ): CommonViewHolder {
return CommonViewHolder(R.layout.item_battery_head.inflate(parent)) return CommonViewHolder(R.layout.item_battery_head.inflate(parent))
} }
fun setText(v: TextView, time: Int) {
var h = time / 60
var m = time % 60
val strH = if (h < 10) "0$h" else h.toString()
val strM = if (m < 10) "0$m" else m.toString()
val text1 = "$strH h "
val text2 = "$strM m"
v.text = buildSpannableString(text1, strH)
v.append(buildSpannableString(text2, strM))
}
fun buildSpannableString(fullString: String, tagString: String): SpannableString { fun buildSpannableString(fullString: String, tagString: String): SpannableString {
val spannableString = SpannableString(fullString) val spannableString = SpannableString(fullString)
val start = fullString.indexOf(tagString) val start = fullString.indexOf(tagString)
...@@ -57,7 +74,7 @@ class BatteryHeadAdapter : BaseQuickAdapter<BatteryHead, CommonViewHolder>() { ...@@ -57,7 +74,7 @@ class BatteryHeadAdapter : BaseQuickAdapter<BatteryHead, CommonViewHolder>() {
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
) )
spannableString.setSpan( spannableString.setSpan(
AbsoluteSizeSpan(32, true), AbsoluteSizeSpan(18, true),
start, end, start, end,
SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE
) )
......
...@@ -2,6 +2,7 @@ package com.base.appzxhy.ui.batteryinfo ...@@ -2,6 +2,7 @@ package com.base.appzxhy.ui.batteryinfo
import android.content.Intent import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.graphics.Color
import androidx.recyclerview.widget.ConcatAdapter import androidx.recyclerview.widget.ConcatAdapter
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity import com.base.appzxhy.base.BaseActivity
...@@ -10,7 +11,8 @@ import com.base.appzxhy.databinding.ActivityBatteryInfo2Binding ...@@ -10,7 +11,8 @@ import com.base.appzxhy.databinding.ActivityBatteryInfo2Binding
import com.base.appzxhy.ui.adapter.AdAdapter import com.base.appzxhy.ui.adapter.AdAdapter
import com.base.appzxhy.utils.Utils import com.base.appzxhy.utils.Utils
class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBatteryInfo2Binding::inflate) { class BatteryInfoActivity :
BaseActivity<ActivityBatteryInfo2Binding>(ActivityBatteryInfo2Binding::inflate) {
private val concatAdapter = ConcatAdapter() private val concatAdapter = ConcatAdapter()
private val batteryHeadAdapter = BatteryHeadAdapter() private val batteryHeadAdapter = BatteryHeadAdapter()
...@@ -18,12 +20,10 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa ...@@ -18,12 +20,10 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa
private val adAdapter = AdAdapter(R.layout.item_ad) private val adAdapter = AdAdapter(R.layout.item_ad)
private val batteryInfoList = listOf( private val batteryInfoList = listOf(
BatteryInfoBean(R.drawable.icon_current_average, "37.5℃", "Temperature"), BatteryInfoBean("Good", "Health"),
BatteryInfoBean(R.drawable.icon_voltage, "3.6V", "Voltage"), BatteryInfoBean("Normal", "Battery Status"),
BatteryInfoBean(R.drawable.icon_technology, "Li-Poly", "Technology"), BatteryInfoBean("Li-Poly", "Battery Type"),
BatteryInfoBean(R.drawable.icon_battery, "0mAh", "Battery Capacity"), BatteryInfoBean("0mAh", "Battery Capacity"),
BatteryInfoBean(R.drawable.icon_electric_current, "0mA", "Electric Current"),
BatteryInfoBean(R.drawable.icon_current_average, "0mA", "Current Average"),
) )
private var batteryReceiver: BatteryReceiver? = null private var batteryReceiver: BatteryReceiver? = null
...@@ -34,6 +34,7 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa ...@@ -34,6 +34,7 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa
} }
override fun initView() { override fun initView() {
setStatusBarColor(getColor(R.color.colorPrimary))
showAdAnimation(LottieEnum.BATTERY_INFO_LOTTIE) { showAdAnimation(LottieEnum.BATTERY_INFO_LOTTIE) {
adAdapter.submitList(listOf("")) adAdapter.submitList(listOf(""))
} }
...@@ -43,9 +44,10 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa ...@@ -43,9 +44,10 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa
binding.rv.adapter = concatAdapter binding.rv.adapter = concatAdapter
concatAdapter.addAdapter(batteryHeadAdapter) concatAdapter.addAdapter(batteryHeadAdapter)
batteryHeadAdapter.submitList( batteryHeadAdapter.submitList(
listOf(BatteryHead(1, 0)) listOf(BatteryHead(1))
) )
concatAdapter.addAdapter(adAdapter) concatAdapter.addAdapter(adAdapter)
concatAdapter.addAdapter(batteryInfoAdapter) concatAdapter.addAdapter(batteryInfoAdapter)
batteryInfoAdapter.submitList(listOf(batteryInfoList)) batteryInfoAdapter.submitList(listOf(batteryInfoList))
...@@ -54,6 +56,9 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa ...@@ -54,6 +56,9 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
binding.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() } binding.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() }
binding.tvBtn.setOnClickListener {
onBackPressedDispatcher.onBackPressed()
}
} }
// @SuppressLint("SetTextI18n") // @SuppressLint("SetTextI18n")
...@@ -97,26 +102,41 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa ...@@ -97,26 +102,41 @@ class BatteryInfoActivity : BaseActivity<ActivityBatteryInfo2Binding>(ActivityBa
val percent = BatteryReceiver.level / BatteryReceiver.scale.toFloat() val percent = BatteryReceiver.level / BatteryReceiver.scale.toFloat()
val remainingCapacity = BatteryReceiver.mAh * percent val remainingCapacity = BatteryReceiver.mAh * percent
val wTime = (remainingCapacity / 3.0f).toInt() val wTime = (remainingCapacity / 3.0f).toInt()
val temperature = Utils.divide(BatteryReceiver.temperature, 10)
val voltage = Utils.divide(BatteryReceiver.voltage, 1000)
batteryHeadAdapter.submitList( batteryHeadAdapter.submitList(
listOf( listOf(
BatteryHead(wTime / 60, wTime % 60) BatteryHead(
min = wTime,
p = percent,
temper = "$temperature℃",
v = "${voltage}V",
power = "${(BatteryReceiver.mAh * percent).toInt()} mAh"
)
) )
) )
batteryInfoList[0].tvValue = when (80) {
in 0..20 -> {
"Bad"
}
val temperature = Utils.divide(BatteryReceiver.temperature, 10) in 21..50 -> {
batteryInfoList[0].tvValue = "$temperature℃" "Not Bad"
}
val voltage = Utils.divide(BatteryReceiver.voltage, 1000) else -> {
batteryInfoList[1].tvValue = "${voltage}V" "Good"
}
}
batteryInfoList[3].tvValue = "${BatteryReceiver.mAh.toInt()}mAh"
batteryInfoList[3].tvValue = "${(BatteryReceiver.mAh * percent).toInt()}mAh"
batteryInfoList[4].tvValue = "${BatteryReceiver.mA.toInt()}mA"
batteryInfoList[5].tvValue = "${BatteryReceiver.avmA.toInt()}mA"
batteryInfoAdapter.submitList(listOf( batteryInfoAdapter.submitList(
listOf(
batteryInfoList batteryInfoList
)) )
)
} }
} }
\ No newline at end of file
...@@ -11,7 +11,6 @@ import com.base.appzxhy.utils.XmlEx.inflate ...@@ -11,7 +11,6 @@ import com.base.appzxhy.utils.XmlEx.inflate
import com.chad.library.adapter4.BaseQuickAdapter import com.chad.library.adapter4.BaseQuickAdapter
data class BatteryInfoBean( data class BatteryInfoBean(
val icon: Int,
var tvValue: String, var tvValue: String,
val title: String, val title: String,
) )
...@@ -54,7 +53,7 @@ class BatteryInfoAdapter : BaseQuickAdapter<List<BatteryInfoBean>, CommonViewHol ...@@ -54,7 +53,7 @@ class BatteryInfoAdapter : BaseQuickAdapter<List<BatteryInfoBean>, CommonViewHol
item ?: return item ?: return
val binding = ItemBatteryInfoBinding.bind(holder.itemView) val binding = ItemBatteryInfoBinding.bind(holder.itemView)
binding.iv.setImageResource(item.icon) // binding.iv.setImageResource(item.icon)
binding.tvValue.text = item.tvValue binding.tvValue.text = item.tvValue
binding.tvTitle.text = item.title binding.tvTitle.text = item.title
......
...@@ -5,6 +5,7 @@ import android.view.LayoutInflater ...@@ -5,6 +5,7 @@ import android.view.LayoutInflater
import android.widget.LinearLayout import android.widget.LinearLayout
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.appcompat.app.AppCompatActivity import androidx.appcompat.app.AppCompatActivity
import androidx.datastore.dataStore
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.databinding.DialogConfirmBinding import com.base.appzxhy.databinding.DialogConfirmBinding
...@@ -25,7 +26,7 @@ class ConfirmDialog( ...@@ -25,7 +26,7 @@ class ConfirmDialog(
val params = dialog.window?.attributes val params = dialog.window?.attributes
params?.width = LinearLayout.LayoutParams.MATCH_PARENT params?.width = LinearLayout.LayoutParams.MATCH_PARENT
params?.height = LinearLayout.LayoutParams.WRAP_CONTENT params?.height = LinearLayout.LayoutParams.WRAP_CONTENT
params?.gravity = Gravity.BOTTOM params?.gravity = Gravity.CENTER
dialog.window?.attributes = params dialog.window?.attributes = params
dialog.window?.setBackgroundDrawableResource(android.R.color.transparent) dialog.window?.setBackgroundDrawableResource(android.R.color.transparent)
......
...@@ -198,6 +198,7 @@ class LargeFileCleanActivity : BaseActivity<ActivityLargeFileCleanBinding>(Activ ...@@ -198,6 +198,7 @@ class LargeFileCleanActivity : BaseActivity<ActivityLargeFileCleanBinding>(Activ
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
binding.rvLargeFile.visibility = if (list.isEmpty()) View.GONE else View.VISIBLE binding.rvLargeFile.visibility = if (list.isEmpty()) View.GONE else View.VISIBLE
binding.ivEmpty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE binding.ivEmpty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE
binding.tvEmpty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE
binding.tvDelete.visibility = if (list.isEmpty()) View.GONE else View.VISIBLE binding.tvDelete.visibility = if (list.isEmpty()) View.GONE else View.VISIBLE
} }
...@@ -332,6 +333,7 @@ class LargeFileCleanActivity : BaseActivity<ActivityLargeFileCleanBinding>(Activ ...@@ -332,6 +333,7 @@ class LargeFileCleanActivity : BaseActivity<ActivityLargeFileCleanBinding>(Activ
override fun initView() { override fun initView() {
super.initView() super.initView()
binding.llTitle.tvTitle.text=getString(R.string.large_file_clean)
binding.rvTab.adapter = tabAdapter binding.rvTab.adapter = tabAdapter
binding.rvTab.layoutManager = LinearLayoutManager(this) binding.rvTab.layoutManager = LinearLayoutManager(this)
binding.rvLargeFile.adapter = adapter binding.rvLargeFile.adapter = adapter
...@@ -351,7 +353,7 @@ class LargeFileCleanActivity : BaseActivity<ActivityLargeFileCleanBinding>(Activ ...@@ -351,7 +353,7 @@ class LargeFileCleanActivity : BaseActivity<ActivityLargeFileCleanBinding>(Activ
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
binding.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() } binding.llTitle.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() }
binding.llType.setOnClickListener { binding.llType.setOnClickListener {
setTab(it, binding.tvType, binding.ivTypeArrow) setTab(it, binding.tvType, binding.ivTypeArrow)
} }
......
...@@ -15,6 +15,7 @@ import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN ...@@ -15,6 +15,7 @@ import com.base.appzxhy.bean.FeatureBean.Companion.LARGE_FILE_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION import com.base.appzxhy.bean.FeatureBean.Companion.PHOTO_COMPRESSION
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS import com.base.appzxhy.bean.FeatureBean.Companion.SIMILAR_PHOTOS
import com.base.appzxhy.bean.FeatureBean.Companion.VIDEO_CLEAN
import com.base.appzxhy.business.ads.AdsMgr import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.databinding.FragmentHome3Binding import com.base.appzxhy.databinding.FragmentHome3Binding
import com.base.appzxhy.ui.dialog.permissionStorageJump import com.base.appzxhy.ui.dialog.permissionStorageJump
...@@ -41,8 +42,7 @@ class Home3Fragment : BaseFragment<FragmentHome3Binding>(FragmentHome3Binding::i ...@@ -41,8 +42,7 @@ class Home3Fragment : BaseFragment<FragmentHome3Binding>(FragmentHome3Binding::i
(requireActivity() as MainActivity).jumpAction(BATTERY_INFO) (requireActivity() as MainActivity).jumpAction(BATTERY_INFO)
} }
binding.ivVideoClean.setOnClickListener { binding.ivVideoClean.setOnClickListener {
//TODO (视频清理) (requireActivity() as MainActivity).permissionStorageJump(VIDEO_CLEAN)
(requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN)
} }
binding.tvLargeFileClean.setOnClickListener { binding.tvLargeFileClean.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(LARGE_FILE_CLEAN) (requireActivity() as MainActivity).permissionStorageJump(LARGE_FILE_CLEAN)
......
...@@ -130,12 +130,16 @@ class ScreenshotCleanActivity : BaseActivity<ActivityScreenshotCleanBinding>(Act ...@@ -130,12 +130,16 @@ class ScreenshotCleanActivity : BaseActivity<ActivityScreenshotCleanBinding>(Act
binding.ivSelectAll.isSelected = isSelectAll binding.ivSelectAll.isSelected = isSelectAll
binding.tvDelete.isEnabled = isSelection binding.tvDelete.isEnabled = isSelection
if (total > 0) {
setTextSize(binding.tvDelete, getString(R.string.delete), total) binding.tvDelete.setTextColor(getColor(R.color.white))
binding.tvDelete.text =
"${getString(R.string.delete)} (${Utils.getSizeFormat(total)})"
binding.tvDelete.background = getDrawable(R.drawable.bg_primary_r4)
} else {
binding.tvDelete.setTextColor(getColor(R.color.fontsBlack))
binding.tvDelete.text = getString(R.string.delete)
binding.tvDelete.background = getDrawable(R.drawable.bg_f2f5f6_r4)
} }
fun setTextSize(view: TextView, content: String, total: Long) {
view.text = if (total > 0) "$content (${Utils.getSizeFormat(total)})" else content
} }
override fun useDefaultImmersive() { override fun useDefaultImmersive() {
...@@ -150,6 +154,7 @@ class ScreenshotCleanActivity : BaseActivity<ActivityScreenshotCleanBinding>(Act ...@@ -150,6 +154,7 @@ class ScreenshotCleanActivity : BaseActivity<ActivityScreenshotCleanBinding>(Act
override fun initView() { override fun initView() {
super.initView() super.initView()
binding.llTitle.tvTitle.text=getString(R.string.screenshot_clean)
binding.expandableFiles.adapter = adapter binding.expandableFiles.adapter = adapter
val gridLayoutManager = GridLayoutManager(this, 3) val gridLayoutManager = GridLayoutManager(this, 3)
gridLayoutManager.spanSizeLookup = MediaImageSpanLookup(3, adapter) gridLayoutManager.spanSizeLookup = MediaImageSpanLookup(3, adapter)
...@@ -178,6 +183,7 @@ class ScreenshotCleanActivity : BaseActivity<ActivityScreenshotCleanBinding>(Act ...@@ -178,6 +183,7 @@ class ScreenshotCleanActivity : BaseActivity<ActivityScreenshotCleanBinding>(Act
adapter.expandAllGroup() adapter.expandAllGroup()
adapter.notifyDataSetChanged() adapter.notifyDataSetChanged()
binding.ivEmpty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE binding.ivEmpty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE
binding.tvEmpty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE
binding.llBottom.visibility = if (list.isEmpty()) View.GONE else View.VISIBLE binding.llBottom.visibility = if (list.isEmpty()) View.GONE else View.VISIBLE
} }
} }
...@@ -187,7 +193,7 @@ class ScreenshotCleanActivity : BaseActivity<ActivityScreenshotCleanBinding>(Act ...@@ -187,7 +193,7 @@ class ScreenshotCleanActivity : BaseActivity<ActivityScreenshotCleanBinding>(Act
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
binding.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() } binding.llTitle.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() }
binding.llSelectAll.setOnClickListener { binding.llSelectAll.setOnClickListener {
isSelectAll = !isSelectAll isSelectAll = !isSelectAll
list.forEach { it.items.forEach { it.isSelected = isSelectAll } } list.forEach { it.items.forEach { it.isSelected = isSelectAll } }
......
package com.base.appzxhy.ui.videoclean
import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.LottieEnum
import com.base.appzxhy.base.cleanFileBeans
import com.base.appzxhy.bean.FeatureBean.Companion.SCREENSHOT_CLEAN
import com.base.appzxhy.bean.FileBean
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.AdsShowCallBack
import com.base.appzxhy.databinding.ActivityScreenshotCleanBinding
import com.base.appzxhy.databinding.ActivityVideoCleanBinding
import com.base.appzxhy.databinding.ItemScreenshotCleanChildBinding
import com.base.appzxhy.databinding.ItemScreenshotCleanGroupBinding
import com.base.appzxhy.databinding.ItemVideoBinding
import com.base.appzxhy.ui.cleanresult.CleanResultActivity
import com.base.appzxhy.ui.dialog.ConfirmDialog
import com.base.appzxhy.utils.MediaUtils
import com.base.appzxhy.utils.Utils
import com.base.appzxhy.utils.loadCenterCropImg
import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import pokercc.android.expandablerecyclerview.ExpandableAdapter
import java.io.File
class VideoCleanActivity :
BaseActivity<ActivityVideoCleanBinding>(ActivityVideoCleanBinding::inflate) {
private var list = mutableListOf<FileBean>()
private var isSelectAll = false
private var total: Long = 0
private var selectedFiles = listOf<FileBean>()
private val adapter by lazy {
class VideoHolder(val item: ItemVideoBinding) : RecyclerView.ViewHolder(item.root)
object : RecyclerView.Adapter<VideoHolder>() {
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int,
): VideoHolder {
val bind = ItemVideoBinding.inflate(layoutInflater, parent, false)
return VideoHolder(bind)
}
override fun onBindViewHolder(holder: VideoHolder, position: Int) {
val bean = list[position]
val round = resources.getDimensionPixelSize(R.dimen.dp_8)
val options = RequestOptions().transform(CenterCrop(), RoundedCorners(round))
Glide.with(holder.itemView.context)
.asBitmap()
.load(File(bean.path))
.apply(options)
.into(holder.item.ivPreview)
holder.item.tvSize.text = Utils.getSizeFormat(bean.length)
holder.item.ivSelect.isSelected = bean.isSelected
holder.item.root.setOnClickListener {
val f = !bean.isSelected
holder.item.ivSelect.isSelected = f
bean.isSelected = f
updateSelection()
}
}
override fun getItemCount() = list.size
}
}
private fun updateSelection() {
selectedFiles = list.filter {
it.isSelected
}
isSelectAll = selectedFiles.size == list.size
total = selectedFiles.sumOf { it.length }
updateView(selectedFiles.isNotEmpty())
}
private fun updateView(isSelection: Boolean) {
binding.ivSelectAll.isSelected = isSelectAll
binding.tvDelete.isEnabled = isSelection
if (total > 0) {
binding.tvDelete.setTextColor(getColor(R.color.white))
binding.tvDelete.text =
"${getString(R.string.delete)} (${Utils.getSizeFormat(total)})"
binding.tvDelete.background = getDrawable(R.drawable.bg_primary_r4)
} else {
binding.tvDelete.setTextColor(getColor(R.color.fontsBlack))
binding.tvDelete.text = getString(R.string.delete)
binding.tvDelete.background = getDrawable(R.drawable.bg_f2f5f6_r4)
}
}
override fun useDefaultImmersive() {
setStatusBarColor()
ViewCompat.setOnApplyWindowInsetsListener(binding.root) { v, insets ->
val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
v.setPadding(systemBars.left, 0, systemBars.right, systemBars.bottom)
binding.clTop.setPadding(0, systemBars.top, 0, 0)
insets
}
}
override fun initView() {
super.initView()
binding.expandableFiles.adapter = adapter
val gridLayoutManager = GridLayoutManager(this, 3)
binding.expandableFiles.layoutManager = gridLayoutManager
initData()
showAdAnimation(LottieEnum.SCREENSHOT_LOTTIE) {
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
}
}
override fun handleBackCallBack() {
super.handleBackCallBack()
}
@SuppressLint("NotifyDataSetChanged")
private fun initData() {
lifecycleScope.launch(Dispatchers.IO) {
list = MediaUtils.findVideoFiles(this@VideoCleanActivity)
updateSelection()
adapter.notifyDataSetChanged()
var size = 0L
list.forEach { size += it.length }
val value = Utils.getSizeArray(size)
binding.tvSize.text = value[0]
binding.tvUnit.text = value[1]
binding.ivEmpty.visibility = if (list.isEmpty()) View.VISIBLE else View.GONE
binding.llBottom.visibility = if (list.isEmpty()) View.GONE else View.VISIBLE
}
}
@SuppressLint("NotifyDataSetChanged")
override fun initListener() {
super.initListener()
binding.llTitle.ivBack.setOnClickListener { onBackPressedDispatcher.onBackPressed() }
binding.llSelectAll.setOnClickListener {
isSelectAll = !isSelectAll
list.forEach { it.isSelected = isSelectAll }
adapter.notifyDataSetChanged()
updateSelection()
}
binding.tvDelete.setOnClickListener {
if (total <= 0) return@setOnClickListener
val dialog = ConfirmDialog(this)
dialog.action = {
AdsMgr.showInsert(this, showCallBack = object : AdsShowCallBack() {
override fun next() {
cleanFileBeans(selectedFiles)
CleanResultActivity.total = total
CleanResultActivity.functionKey = SCREENSHOT_CLEAN
CleanResultActivity.titleName = getString(R.string.screenshot_clean)
goToAc(CleanResultActivity::class.java)
}
})
}
dialog.showDialog("delete")
}
}
internal class MediaImageSpanLookup(
private val spanCount: Int,
private val expandableAdapter: ExpandableAdapter<*>,
) :
GridLayoutManager.SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
val viewType = expandableAdapter.getItemViewType(position)
return if (expandableAdapter.isGroup(viewType)) spanCount else 1
}
}
}
\ No newline at end of file
package com.base.appzxhy.utils
import android.view.View
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions
import java.io.File
/**
* 加载图片文件 ,并添加圆角
*/
fun ImageView.loadImg(file: File, corner: Int) {
if (corner == 0) {
Glide.with(this).load(file).into(this)
} else {
val density = this.resources.displayMetrics.density
Glide.with(this).load(file)
.apply(RequestOptions.bitmapTransform(RoundedCorners((corner * density).toInt())))
.into(this)
}
}
/**
* 加载图片文件 centerCrop 并添加圆角
*/
fun ImageView.loadCenterCropImg(file: File, corner: Int) {
val density = this.resources.displayMetrics.density
Glide.with(this).load(file)
.transform(CenterCrop(), RoundedCorners((corner * density).toInt()))
.into(this)
}
/**
* 加载图片文件 centerCrop 并添加圆角
*/
fun ImageView.loadCenterCropImg(uri: String, corner: Int) {
val density = this.resources.displayMetrics.density
Glide.with(this).load(uri)
.transform(CenterCrop(), RoundedCorners((corner * density).toInt()))
.into(this)
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:bottomLeftRadius="8dp"
android:bottomRightRadius="8dp" />
<solid android:color="#4D000000" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/dianchi20"
android:minLevel="0"
android:maxLevel="20"
/>
<item android:drawable="@drawable/dianchi40"
android:minLevel="20"
android:maxLevel="40"
/>
<item android:drawable="@drawable/dianchi60"
android:minLevel="40"
android:maxLevel="60"
/>
<item android:drawable="@drawable/dianchi80"
android:minLevel="60"
android:maxLevel="80"
/>
<item android:drawable="@drawable/dianchi100"
android:minLevel="80"
android:maxLevel="100"
/>
</level-list>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"> <shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorDisEnable" /> <solid android:color="#EAF3F6" />
<corners android:radius="50dp" /> <corners android:radius="50dp" />
</shape> </shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#F2F5F6" />
<corners android:radius="4dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/colorPrimary" />
<corners android:radius="4dp" />
</shape>
\ No newline at end of file
...@@ -10,24 +10,26 @@ ...@@ -10,24 +10,26 @@
android:id="@+id/cl_top" android:id="@+id/cl_top"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivBack" android:id="@+id/ivBack"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:foreground="@drawable/ripple_8"
android:padding="@dimen/dp_16" android:padding="@dimen/dp_16"
android:src="@drawable/icon_back" /> android:src="@drawable/icon_back" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="start|center_vertical"
android:layout_marginStart="53dp"
android:text="@string/battery_info" android:text="@string/battery_info"
android:textColor="@color/black" android:textColor="@color/white"
android:textSize="20sp" android:textSize="20sp"
android:textStyle="bold" android:textStyle="bold" />
/>
</FrameLayout> </FrameLayout>
......
...@@ -25,15 +25,17 @@ ...@@ -25,15 +25,17 @@
<androidx.appcompat.widget.AppCompatImageView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivBack" android:id="@+id/ivBack"
android:padding="@dimen/dp_16"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/icon_return_w" /> android:foreground="@drawable/ripple_8"
android:padding="16dp"
android:src="@drawable/icon_back" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center" android:layout_gravity="start|center_vertical"
android:layout_marginStart="53dp"
android:text="@string/junk_clean" android:text="@string/junk_clean"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="20sp" android:textSize="20sp"
...@@ -80,6 +82,7 @@ ...@@ -80,6 +82,7 @@
</androidx.appcompat.widget.LinearLayoutCompat> </androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_scan"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="@string/found" android:text="@string/found"
......
...@@ -12,33 +12,9 @@ ...@@ -12,33 +12,9 @@
android:background="@color/colorPrimary" android:background="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<FrameLayout <include
android:id="@+id/ll_title" android:id="@+id/ll_title"
android:layout_width="match_parent" layout="@layout/layout_title" />
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingVertical="6dp"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:padding="@dimen/dp_8"
android:src="@drawable/icon_return_w" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/large_file_clean"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
...@@ -64,7 +40,6 @@ ...@@ -64,7 +40,6 @@
android:id="@+id/iv_type" android:id="@+id/iv_type"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_filter_large_type"
android:src="@drawable/bg_filter_large_type" /> android:src="@drawable/bg_filter_large_type" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
...@@ -176,13 +151,26 @@ ...@@ -176,13 +151,26 @@
android:id="@+id/iv_empty" android:id="@+id/iv_empty"
android:layout_width="@dimen/dp_150" android:layout_width="@dimen/dp_150"
android:layout_height="@dimen/dp_150" android:layout_height="@dimen/dp_150"
android:src="@drawable/queshengtu" android:src="@drawable/img_large_file_clean_placeholder"
android:visibility="invisible" android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:text="@string/Content_not_found"
android:textColor="#AEB4BD"
android:textSize="@dimen/sp_14"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_empty" />
<androidx.recyclerview.widget.RecyclerView <androidx.recyclerview.widget.RecyclerView
android:id="@+id/rv_large_file" android:id="@+id/rv_large_file"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -193,6 +181,7 @@ ...@@ -193,6 +181,7 @@
app:layout_constraintBottom_toTopOf="@id/tv_delete" app:layout_constraintBottom_toTopOf="@id/tv_delete"
app:layout_constraintTop_toBottomOf="@id/flAd" /> app:layout_constraintTop_toBottomOf="@id/flAd" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_delete" android:id="@+id/tv_delete"
android:layout_width="match_parent" android:layout_width="match_parent"
......
...@@ -12,33 +12,10 @@ ...@@ -12,33 +12,10 @@
android:background="@color/colorPrimary" android:background="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
<FrameLayout
android:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingVertical="6dp"
app:layout_constraintTop_toTopOf="parent">
<androidx.appcompat.widget.AppCompatImageView <include
android:id="@+id/ivBack" android:id="@+id/ll_title"
android:layout_width="wrap_content" layout="@layout/layout_title" />
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_8"
android:padding="@dimen/dp_8"
android:src="@drawable/icon_return_w" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/screenshot_clean"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</FrameLayout>
<androidx.constraintlayout.widget.ConstraintLayout <androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_size" android:id="@+id/cl_size"
...@@ -122,13 +99,26 @@ ...@@ -122,13 +99,26 @@
android:layout_width="@dimen/dp_150" android:layout_width="@dimen/dp_150"
android:layout_height="@dimen/dp_150" android:layout_height="@dimen/dp_150"
android:layout_marginTop="@dimen/dp_80" android:layout_marginTop="@dimen/dp_80"
android:src="@drawable/queshengtu" android:src="@drawable/img_large_file_clean_placeholder"
android:visibility="invisible" android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="18dp"
android:text="@string/Content_not_found"
android:textColor="#AEB4BD"
android:textSize="@dimen/sp_14"
android:visibility="invisible"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_empty" />
<androidx.appcompat.widget.LinearLayoutCompat <androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_bottom" android:id="@+id/ll_bottom"
android:layout_width="match_parent" android:layout_width="match_parent"
...@@ -168,7 +158,7 @@ ...@@ -168,7 +158,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="16dp" android:layout_marginStart="16dp"
android:layout_weight="1" android:layout_weight="1"
android:background="@drawable/bg_enable_4" android:background="@drawable/bg_primary_r4"
android:gravity="center" android:gravity="center"
android:paddingTop="12dp" android:paddingTop="12dp"
android:paddingBottom="12dp" android:paddingBottom="12dp"
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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">
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorPrimary"
app:layout_constraintTop_toTopOf="parent">
<include layout="@layout/layout_title"
android:id="@+id/ll_title"
/>
<!-- <FrameLayout-->
<!-- android:id="@+id/ll_title"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:gravity="center_vertical"-->
<!-- android:orientation="horizontal"-->
<!-- app:layout_constraintTop_toTopOf="parent">-->
<!-- <androidx.appcompat.widget.AppCompatImageView-->
<!-- android:id="@+id/ivBack"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:padding="16dp"-->
<!-- android:src="@drawable/icon_back" />-->
<!-- <androidx.appcompat.widget.AppCompatTextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_gravity="start|center_vertical"-->
<!-- android:layout_marginStart="53dp"-->
<!-- android:text="@string/Video_Clean"-->
<!-- android:textColor="@color/white"-->
<!-- android:textSize="20sp"-->
<!-- android:textStyle="bold" />-->
<!-- </FrameLayout>-->
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="34dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/ll_title">
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_size"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="0"
android:textColor="@color/white"
android:textSize="32sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_unit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="KB"
android:textColor="@color/white"
android:textSize="12sp"
app:layout_constraintStart_toEndOf="@id/tv_size"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="HardcodedText,TextContrastCheck" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:layout_marginBottom="67dp"
android:text="@string/Cleanable"
android:textColor="@color/white"
android:textSize="16sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/cl_size"
tools:ignore="TextContrastCheck" />
</androidx.constraintlayout.widget.ConstraintLayout>
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="16dp"
android:layout_marginTop="12dp"
app:layout_constraintTop_toBottomOf="@id/cl_top">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/zhanwei1"
tools:ignore="ImageContrastCheck" />
</com.base.appzxhy.business.ads.NativeParentView>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/expandable_files"
android:layout_width="match_parent"
android:layout_height="0dp"
android:background="@color/white"
android:paddingTop="8dp"
android:paddingBottom="12dp"
android:paddingHorizontal="12dp"
app:layout_constraintBottom_toTopOf="@id/ll_bottom"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/flAd"
tools:ignore="SpeakableTextPresentCheck" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_empty"
android:layout_width="@dimen/dp_150"
android:layout_height="@dimen/dp_150"
android:layout_marginTop="@dimen/dp_80"
android:src="@drawable/queshengtu"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_bottom"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/white"
android:gravity="center"
android:orientation="horizontal"
android:padding="16dp"
app:layout_constraintBottom_toBottomOf="parent">
<androidx.appcompat.widget.LinearLayoutCompat
android:id="@+id/ll_select_all"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv_select_all"
android:layout_width="@dimen/dp_30"
android:layout_height="@dimen/dp_30"
android:src="@drawable/bg_select_yuan"
tools:ignore="ImageContrastCheck" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="@string/select_all"
android:textColor="@color/color_666666"
android:textSize="12sp" />
</androidx.appcompat.widget.LinearLayoutCompat>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_delete"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:layout_weight="1"
android:background="@drawable/bg_primary_r4"
android:gravity="center"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:text="@string/delete"
android:textColor="@color/white"
android:textSize="14sp"
tools:ignore="TextContrastCheck" />
</androidx.appcompat.widget.LinearLayoutCompat>
<include
android:id="@+id/layout_animation"
layout="@layout/layout_animation"
android:visibility="gone" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginHorizontal="20dp"
android:background="@drawable/white_background"> android:background="@drawable/white_background">
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:paddingVertical="@dimen/dp_20"> >
<LinearLayout <View
android:layout_width="0dp" android:id="@+id/top_bg"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="-100dp"
android:background="@drawable/bg_home"
app:layout_constraintBottom_toBottomOf="@id/iv_time"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv"
android:layout_width="200dp"
android:layout_height="100dp"
android:layout_marginTop="43dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/bg_batter_capacity" />
<TextView
android:id="@+id/tv_capacity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#00598C"
android:textSize="36sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/iv"
app:layout_constraintEnd_toEndOf="@id/iv"
app:layout_constraintStart_toStartOf="@id/iv"
app:layout_constraintTop_toTopOf="@id/iv"
tools:text="12%" />
<ImageView
android:id="@+id/iv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_35" android:layout_marginTop="83dp"
android:layout_marginEnd="@dimen/dp_50" android:src="@drawable/icon_batter_time"
android:orientation="vertical" app:layout_constraintEnd_toStartOf="@id/iv_video_time"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/iv"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toBottomOf="@id/iv" />
<TextView
android:id="@+id/tv_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="@id/iv_time"
app:layout_constraintStart_toStartOf="@id/iv_time"
app:layout_constraintTop_toBottomOf="@id/iv_time"
tools:text="24h 23m" />
<ImageView
android:id="@+id/iv_video_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="83dp"
android:src="@drawable/icon_batter_video"
app:layout_constraintEnd_toStartOf="@id/iv_music_time"
app:layout_constraintStart_toEndOf="@id/iv_time"
app:layout_constraintTop_toBottomOf="@id/iv" />
<TextView <TextView
android:id="@+id/tvTime" android:id="@+id/tv_video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
app:layout_constraintEnd_toEndOf="@id/iv_video_time"
app:layout_constraintStart_toStartOf="@id/iv_video_time"
app:layout_constraintTop_toBottomOf="@id/iv_video_time"
tools:text="24h 23m" />
<ImageView
android:id="@+id/iv_music_time"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="00 h 00 m" android:layout_marginTop="83dp"
android:textColor="@color/black" android:src="@drawable/icon_batter_music"
android:textSize="@dimen/sp_17" /> app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_video_time"
app:layout_constraintTop_toBottomOf="@id/iv" />
<TextView <TextView
android:id="@+id/tv_music"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_20" android:textColor="@color/white"
android:text="@string/left_with_current_power_consumption" android:textSize="@dimen/sp_14"
android:textColor="#666666" app:layout_constraintEnd_toEndOf="@id/iv_music_time"
android:textSize="@dimen/sp_16" /> app:layout_constraintStart_toStartOf="@id/iv_music_time"
app:layout_constraintTop_toBottomOf="@id/iv_music_time"
tools:text="24h 23m" />
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="15dp"
android:layout_marginTop="45dp"
android:background="@drawable/bg_ffffff_15"
android:paddingBottom="24dp"
app:layout_constraintTop_toBottomOf="@id/iv_time">
</LinearLayout> <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="20dp"
android:text="@string/Battery_status"
android:textColor="#181B1F"
android:textSize="@dimen/sp_18"
android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatImageView <ImageView
android:id="@+id/iv" android:id="@+id/iv_status_1"
android:layout_width="@dimen/dp_98" android:layout_width="wrap_content"
android:layout_height="@dimen/dp_118" android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp_18" android:layout_marginTop="57dp"
app:layout_constraintBottom_toBottomOf="parent" android:src="@drawable/icon_wendu_battery"
app:layout_constraintEnd_toStartOf="@id/iv_status_2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_wendu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="37.5℃"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_14"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@id/iv_status_1"
app:layout_constraintStart_toStartOf="@id/iv_status_1"
app:layout_constraintTop_toBottomOf="@id/iv_status_1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Temperature"
android:textColor="#AEB4BD"
android:textSize="@dimen/sp_12"
app:layout_constraintEnd_toEndOf="@id/iv_status_1"
app:layout_constraintStart_toStartOf="@id/iv_status_1"
app:layout_constraintTop_toBottomOf="@id/tv_wendu" />
<ImageView
android:id="@+id/iv_status_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="57dp"
android:src="@drawable/icon_v_battery"
app:layout_constraintEnd_toStartOf="@id/iv_status_1"
app:layout_constraintStart_toEndOf="@id/iv_status_3"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_v"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="3.6V"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_14"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@id/iv_status_2"
app:layout_constraintStart_toStartOf="@id/iv_status_2"
app:layout_constraintTop_toBottomOf="@id/iv_status_2"
tools:text="24h 23m" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Voltage"
android:textColor="#AEB4BD"
android:textSize="@dimen/sp_12"
app:layout_constraintEnd_toEndOf="@id/iv_status_2"
app:layout_constraintStart_toStartOf="@id/iv_status_2"
app:layout_constraintTop_toBottomOf="@id/tv_v" />
<ImageView
android:id="@+id/iv_status_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="57dp"
android:src="@drawable/icon_ah_battery"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toEndOf="@id/iv_status_2"
app:srcCompat="@drawable/dianchi" /> app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_ah"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:text="4753mAh"
android:textColor="@color/colorPrimary"
android:textSize="@dimen/sp_14"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@id/iv_status_3"
app:layout_constraintStart_toStartOf="@id/iv_status_3"
app:layout_constraintTop_toBottomOf="@id/iv_status_3"
tools:text="24h 23m" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Power"
android:textColor="#AEB4BD"
android:textSize="@dimen/sp_12"
app:layout_constraintEnd_toEndOf="@id/iv_status_3"
app:layout_constraintStart_toStartOf="@id/iv_status_3"
app:layout_constraintTop_toBottomOf="@id/tv_ah" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -3,44 +3,31 @@ ...@@ -3,44 +3,31 @@
xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tool="http://schemas.android.com/tools" xmlns:tool="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_90" android:layout_height="75dp"
android:layout_marginHorizontal="@dimen/dp_8" android:layout_marginHorizontal="@dimen/dp_8"
android:layout_marginVertical="@dimen/dp_5" android:layout_marginVertical="@dimen/dp_5"
android:background="@drawable/bg_ffffff_8" android:background="@drawable/bg_ffffff_8"
android:gravity="center_vertical"
android:orientation="horizontal">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/iv"
android:layout_width="@dimen/dp_45"
android:layout_height="@dimen/dp_45"
android:layout_marginStart="@dimen/dp_15" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginHorizontal="@dimen/dp_8"
android:layout_weight="1"
android:orientation="vertical"> android:orientation="vertical">
<TextView <TextView
android:id="@+id/tvValue" android:id="@+id/tv_title"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/color_1a1a1a" android:layout_marginStart="20dp"
android:textSize="@dimen/sp_18" android:layout_marginTop="16dp"
android:textColor="#AEB4BD"
android:textSize="@dimen/sp_12"
tool:text="3.6v" /> tool:text="3.6v" />
<TextView <TextView
android:id="@+id/tvTitle" android:id="@+id/tv_value"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginStart="20dp"
android:layout_marginTop="@dimen/dp_4" android:layout_marginTop="@dimen/dp_4"
android:textColor="@color/color_666666" android:textColor="@color/color_666666"
android:textSize="@dimen/sp_12" android:textSize="@dimen/sp_16"
android:textStyle="bold"
tool:text="Voltage" /> tool:text="Voltage" />
</LinearLayout>
</LinearLayout> </LinearLayout>
\ No newline at end of file
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
android:id="@+id/tv_size" android:id="@+id/tv_size"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/shadow_background" android:background="@drawable/bg_4d000000_blr_8"
android:gravity="center" android:gravity="center"
android:paddingTop="4dp" android:paddingTop="4dp"
android:paddingBottom="4dp" android:paddingBottom="4dp"
......
...@@ -9,17 +9,17 @@ ...@@ -9,17 +9,17 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="12dp" android:layout_height="12dp"
android:background="@color/color_f7fafa" android:background="@color/color_f7fafa"
app:layout_constraintTop_toTopOf="parent"/> app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView <androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_name" android:id="@+id/tv_name"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_marginVertical="16dp"
android:layout_marginHorizontal="15dp" android:layout_marginHorizontal="15dp"
android:layout_marginVertical="16dp"
android:text="2024/10/10" android:text="2024/10/10"
android:textColor="@color/color_666666" android:textColor="@color/color_666666"
android:textSize="16sp" android:textSize="14sp"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_bg" /> app:layout_constraintTop_toBottomOf="@id/view_bg" />
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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="wrap_content"
android:layout_height="wrap_content">
<androidx.constraintlayout.utils.widget.ImageFilterView
android:id="@+id/iv_preview"
android:layout_width="110dp"
android:layout_height="110dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:round="8dp" />
<ImageView
android:id="@+id/iv_video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon_play_whatsapp"
app:layout_constraintBottom_toBottomOf="@id/iv_preview"
app:layout_constraintEnd_toEndOf="@id/iv_preview"
app:layout_constraintStart_toStartOf="@id/iv_preview"
app:layout_constraintTop_toTopOf="@id/iv_preview" />
<ImageView
android:id="@+id/iv_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:src="@drawable/bg_select_yuan"
app:layout_constraintEnd_toEndOf="@id/iv_preview"
app:layout_constraintTop_toTopOf="@id/iv_preview" />
<TextView
android:id="@+id/tv_size"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/bg_4d000000_blr_8"
android:gravity="center"
android:paddingVertical="4dp"
android:textColor="@color/white"
android:textSize="@dimen/sp_14"
app:layout_constraintBottom_toBottomOf="@id/iv_preview"
app:layout_constraintEnd_toEndOf="@id/iv_preview"
app:layout_constraintStart_toStartOf="@id/iv_preview"
tools:text="12.0M" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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:id="@+id/ll_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical"
android:orientation="horizontal"
app:layout_constraintTop_toTopOf="parent"
tools:background="@color/colorPrimary">
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivBack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:foreground="@drawable/ripple_8"
android:padding="16dp"
android:src="@drawable/icon_back" />
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|center_vertical"
android:layout_marginStart="53dp"
android:text="@string/Video_Clean"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold" />
</FrameLayout>
...@@ -136,4 +136,11 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -136,4 +136,11 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="Compress_Photos">Compress Photos</string> <string name="Compress_Photos">Compress Photos</string>
<string name="View">View</string> <string name="View">View</string>
<string name="What_type_of_file_">What type of file do you want to clean?</string> <string name="What_type_of_file_">What type of file do you want to clean?</string>
<string name="Battery_status">Battery status</string>
<string name="Power">Power</string>
<string name="Voltage">Voltage</string>
<string name="Temperature">Temperature</string>
<string name="Video_Messages">Video Messages</string>
<string name="Cleanable">Cleanable</string>
<string name="Content_not_found">Content not found</string>
</resources> </resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment