Commit 4da6ecce authored by wanglei's avatar wanglei

[拆包]替换ui

parent f4f6d9a6
...@@ -143,6 +143,9 @@ dependencies { ...@@ -143,6 +143,9 @@ dependencies {
//第三方UI控件 //第三方UI控件
implementation("io.github.cymchad:BaseRecyclerViewAdapterHelper4:4.1.4") implementation("io.github.cymchad:BaseRecyclerViewAdapterHelper4:4.1.4")
implementation("com.github.angcyo.DslTablayout:TabLayout:3.7.1") implementation("com.github.angcyo.DslTablayout:TabLayout:3.7.1")
implementation("com.github.zhpanvip:viewpagerindicator:1.2.3")
//lottie //lottie
implementation("com.airbnb.android:lottie:6.4.0") implementation("com.airbnb.android:lottie:6.4.0")
implementation("com.github.bumptech.glide:glide:4.16.0") implementation("com.github.bumptech.glide:glide:4.16.0")
......
...@@ -13,7 +13,7 @@ class AdConfigBean( ...@@ -13,7 +13,7 @@ class AdConfigBean(
var numClickLimit: Int = -1,//点击次数限制 var numClickLimit: Int = -1,//点击次数限制
var timeInterval: Int = 10,//广告间隔秒 var timeInterval: Int = 10,//广告间隔秒
var openAdLoading: Int = 15,//开屏广告拉取时间 var openAdLoading: Int = 15,//开屏广告拉取时间
var numNativeDisplayLimit: Int = 1,//原生展示次数限制 var numNativeDisplayLimit: Int = -1,//原生展示次数限制
var fullNativeShow: Boolean = true,//显示全屏原生 var fullNativeShow: Boolean = true,//显示全屏原生
var functionBackShowAd: Boolean = true,//功能退出显示广告 var functionBackShowAd: Boolean = true,//功能退出显示广告
......
package com.base.appzxhy.ui.clean
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import com.base.appzxhy.R
import com.base.appzxhy.business.ads.AdsMgr
import com.base.appzxhy.business.ads.NativeParentView
class CleanNativeFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
return inflater.inflate(R.layout.fragment_clean_native, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val flAd = view.findViewById<NativeParentView>(R.id.flAd)
AdsMgr.showNative(flAd, R.layout.layout_admob_native_custom) {
flAd.visibility = View.VISIBLE
}
}
}
\ No newline at end of file
package com.base.appzxhy.ui.clean
import android.os.Bundle
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import com.base.appzxhy.R
class CleanPageFragment : Fragment() {
var tvPath: TextView? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_clean_page, container, false)
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
tvPath = view.findViewById<TextView>(R.id.tvPath)
}
}
\ No newline at end of file
...@@ -7,10 +7,14 @@ import android.view.View ...@@ -7,10 +7,14 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.view.animation.LinearInterpolator import android.view.animation.LinearInterpolator
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.graphics.toColorInt
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.viewpager2.adapter.FragmentStateAdapter
import androidx.viewpager2.widget.ViewPager2
import com.base.appzxhy.R import com.base.appzxhy.R
import com.base.appzxhy.base.BaseActivity import com.base.appzxhy.base.BaseActivity
import com.base.appzxhy.base.LottieEnum import com.base.appzxhy.base.LottieEnum
...@@ -18,8 +22,7 @@ import com.base.appzxhy.base.cleanFileBeans ...@@ -18,8 +22,7 @@ import com.base.appzxhy.base.cleanFileBeans
import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN import com.base.appzxhy.bean.FeatureBean.Companion.JUNK_CLEAN
import com.base.appzxhy.bean.FeatureBean.Companion.setFunctionTodayUsed import com.base.appzxhy.bean.FeatureBean.Companion.setFunctionTodayUsed
import com.base.appzxhy.bean.FileBean import com.base.appzxhy.bean.FileBean
import com.base.appzxhy.business.ads.AdsMgr import com.base.appzxhy.databinding.ActivityJunkClean2Binding
import com.base.appzxhy.databinding.ActivityJunkCleanBinding
import com.base.appzxhy.databinding.ItemJunkCleanChildBinding import com.base.appzxhy.databinding.ItemJunkCleanChildBinding
import com.base.appzxhy.databinding.ItemJunkCleanGroupBinding import com.base.appzxhy.databinding.ItemJunkCleanGroupBinding
import com.base.appzxhy.ui.cleanresult.CleanResultActivity import com.base.appzxhy.ui.cleanresult.CleanResultActivity
...@@ -28,9 +31,12 @@ import com.base.appzxhy.utils.MediaUtils ...@@ -28,9 +31,12 @@ import com.base.appzxhy.utils.MediaUtils
import com.base.appzxhy.utils.MineTypeUtils import com.base.appzxhy.utils.MineTypeUtils
import com.base.appzxhy.utils.MyAnimationUtils import com.base.appzxhy.utils.MyAnimationUtils
import com.base.appzxhy.utils.Utils import com.base.appzxhy.utils.Utils
import com.zhpan.indicator.enums.IndicatorSlideMode
import com.zhpan.indicator.enums.IndicatorStyle
import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async import kotlinx.coroutines.async
import kotlinx.coroutines.delay import kotlinx.coroutines.delay
import kotlinx.coroutines.isActive
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import pokercc.android.expandablerecyclerview.ExpandableAdapter import pokercc.android.expandablerecyclerview.ExpandableAdapter
...@@ -38,13 +44,25 @@ import pokercc.android.expandablerecyclerview.ExpandableItemAnimator ...@@ -38,13 +44,25 @@ import pokercc.android.expandablerecyclerview.ExpandableItemAnimator
import kotlin.random.Random import kotlin.random.Random
class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCleanBinding::inflate) { class JunkCleanActivity : BaseActivity<ActivityJunkClean2Binding>(ActivityJunkClean2Binding::inflate) {
private var isStartAnimation = true private var isStartAnimation = true
private var list = mutableListOf<FileBean>() private var list = mutableListOf<FileBean>()
private var total: Long = 0 private var total: Long = 0
private var selectedFiles = listOf<FileBean>() private var selectedFiles = listOf<FileBean>()
private val page1 by lazy { CleanPageFragment() }
private val page2 by lazy { CleanNativeFragment() }
private val viewPagerAdapter by lazy {
object : FragmentStateAdapter(this) {
override fun getItemCount(): Int = 2
override fun createFragment(position: Int): Fragment = if (position == 0) page1 else page2
}
}
private var currentPosition = 0
private val adapter by lazy { private val adapter by lazy {
class ChildViewHolder(val binding: ItemJunkCleanChildBinding) : ExpandableAdapter.ViewHolder(binding.root) class ChildViewHolder(val binding: ItemJunkCleanChildBinding) : ExpandableAdapter.ViewHolder(binding.root)
class GroupViewHolder(val binding: ItemJunkCleanGroupBinding) : ExpandableAdapter.ViewHolder(binding.root) class GroupViewHolder(val binding: ItemJunkCleanGroupBinding) : ExpandableAdapter.ViewHolder(binding.root)
...@@ -159,16 +177,56 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle ...@@ -159,16 +177,56 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle
override fun initView() { override fun initView() {
super.initView() super.initView()
AdsMgr.showNative(binding.flAd, R.layout.layout_admob_native_custom)
binding.expandableFiles.adapter = adapter binding.expandableFiles.adapter = adapter
binding.expandableFiles.layoutManager = LinearLayoutManager(this) binding.expandableFiles.layoutManager = LinearLayoutManager(this)
binding.expandableFiles.itemAnimator = ExpandableItemAnimator(binding.expandableFiles) binding.expandableFiles.itemAnimator = ExpandableItemAnimator(binding.expandableFiles)
initPage()
initData() initData()
setFunctionTodayUsed(JUNK_CLEAN) setFunctionTodayUsed(JUNK_CLEAN)
} }
private fun initPage() {
binding.indicator.apply {
setSliderColor("#ffffff".toColorInt(), "#06D16C".toColorInt())
setSliderWidth(resources.getDimension(R.dimen.dp_6))
setSliderHeight(resources.getDimension(R.dimen.dp_6))
setSlideMode(IndicatorSlideMode.COLOR)
setIndicatorStyle(IndicatorStyle.CIRCLE)
setPageSize(2)
notifyDataChanged()
}
binding.viewPager2.adapter = viewPagerAdapter
binding.viewPager2.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {
super.onPageScrolled(position, positionOffset, positionOffsetPixels)
binding.indicator.onPageScrolled(position, positionOffset, positionOffsetPixels)
}
override fun onPageSelected(position: Int) {
binding.indicator.onPageSelected(position)
currentPosition = position
}
})
lifecycleScope.launch(Dispatchers.IO) {
while (isActive) {
delay(3000)
launch(Dispatchers.Main) {
if (currentPosition == 0) {
binding.viewPager2.setCurrentItem(1, true)
} else {
binding.viewPager2.setCurrentItem(0, true)
}
}
}
}
}
override fun initListener() { override fun initListener() {
super.initListener() super.initListener()
...@@ -196,7 +254,7 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle ...@@ -196,7 +254,7 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle
@SuppressLint("NotifyDataSetChanged") @SuppressLint("NotifyDataSetChanged")
private fun initData() { private fun initData() {
isBackDisable = true isBackDisable = true
binding.tvPath.text = "" page1.tvPath?.text = ""
binding.tvClean.visibility = View.GONE binding.tvClean.visibility = View.GONE
lifecycleScope.launch(Dispatchers.IO) { lifecycleScope.launch(Dispatchers.IO) {
val emptyFolders = async { FileUtils.findEmptyFolders() }.await() val emptyFolders = async { FileUtils.findEmptyFolders() }.await()
...@@ -234,7 +292,7 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle ...@@ -234,7 +292,7 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle
val totalSize = list.sumOf { it.length } val totalSize = list.sumOf { it.length }
val random = Random.nextLong(2500, 3000) val random = Random.nextLong(2500, 3000)
launch(Dispatchers.Main) { launch(Dispatchers.Main) {
MyAnimationUtils.progress(binding.pbProgress, 0, 100, random) // MyAnimationUtils.progress(binding.pbProgress, 0, 100, random)
ValueAnimator.ofFloat(0f, totalSize.toFloat()).apply { ValueAnimator.ofFloat(0f, totalSize.toFloat()).apply {
duration = random duration = random
interpolator = LinearInterpolator() interpolator = LinearInterpolator()
...@@ -245,9 +303,9 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle ...@@ -245,9 +303,9 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle
}.start() }.start()
} }
for (data in list) { for (data in list) {
if (binding.pbProgress.progress == 100) break // if (binding.pbProgress.progress == 100) break
withContext(Dispatchers.Main) { withContext(Dispatchers.Main) {
binding.tvPath.text = data.path page1.tvPath?.text = data.path
} }
} }
delay(random) delay(random)
...@@ -271,14 +329,14 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle ...@@ -271,14 +329,14 @@ class JunkCleanActivity : BaseActivity<ActivityJunkCleanBinding>(ActivityJunkCle
isBackDisable = false isBackDisable = false
binding.expandableFiles.visibility = View.VISIBLE binding.expandableFiles.visibility = View.VISIBLE
binding.tvClean.visibility = View.VISIBLE binding.tvClean.visibility = View.VISIBLE
binding.tvPath.text = getString(R.string.clean_tips)
updateSelection() updateSelection()
page1.tvPath?.setText(R.string.scan_completed)
} }
private fun setSize(size: Long) { private fun setSize(size: Long) {
val values = Utils.getSizeArray(size) val values = Utils.getSizeArray(size)
binding.tvLength.text = values[0] // binding.tvLength.text = values[0]
binding.tvUnit.text = values[1] // binding.tvUnit.text = values[1]
} }
} }
\ No newline at end of file
...@@ -59,7 +59,7 @@ class CleanResultActivity : BaseActivity<ActivityCleanResultBinding>(ActivityCle ...@@ -59,7 +59,7 @@ class CleanResultActivity : BaseActivity<ActivityCleanResultBinding>(ActivityCle
holder.binding.tvBtn.background = ContextCompat.getDrawable(this@CleanResultActivity, R.drawable.bg_btn_4) holder.binding.tvBtn.background = ContextCompat.getDrawable(this@CleanResultActivity, R.drawable.bg_btn_4)
} else { } else {
holder.binding.tvBtn.background = holder.binding.tvBtn.background =
ContextCompat.getDrawable(this@CleanResultActivity, R.drawable.bg_74daff_0051ff_4) ContextCompat.getDrawable(this@CleanResultActivity, R.drawable.bg_70eb91_4fe5b6)
} }
holder.binding.tvBtn.setText(item.content) holder.binding.tvBtn.setText(item.content)
holder.binding.tvBtn.setOnClickListener { holder.binding.tvBtn.setOnClickListener {
......
...@@ -44,49 +44,49 @@ class HomeFragment : BaseFragment<FragmentHome2Binding>(FragmentHome2Binding::in ...@@ -44,49 +44,49 @@ class HomeFragment : BaseFragment<FragmentHome2Binding>(FragmentHome2Binding::in
R.string.clean_junk, R.string.clean_junk,
R.drawable.icon_clean_h, R.drawable.icon_clean_h,
).apply { ).apply {
color=R.color.color_fffaf7 color = R.color.color_fffaf7
}, },
FeatureBean( FeatureBean(
BATTERY_INFO, BATTERY_INFO,
R.string.battery_info, R.string.battery_info,
R.drawable.icon_battery_h, R.drawable.icon_battery_h,
).apply { ).apply {
color=R.color.color_fdfff5 color = R.color.color_fdfff5
}, },
FeatureBean( FeatureBean(
SIMILAR_PHOTOS, SIMILAR_PHOTOS,
R.string.similar_photos, R.string.similar_photos,
R.drawable.icon_similar_h, R.drawable.icon_similar_h,
).apply { ).apply {
color=R.color.color_fefaff color = R.color.color_fefaff
}, },
FeatureBean( FeatureBean(
UNINSTALL_APP, UNINSTALL_APP,
R.string.uninstall_app, R.string.uninstall_app,
R.drawable.icon_app_uninstall_h, R.drawable.icon_app_uninstall_h,
).apply { ).apply {
color=R.color.color_fffafa color = R.color.color_fffafa
}, },
FeatureBean( FeatureBean(
PHOTO_COMPRESSION, PHOTO_COMPRESSION,
R.string.photo_compression, R.string.photo_compression,
R.drawable.icon_compression_h, R.drawable.icon_compression_h,
).apply { ).apply {
color=R.color.color_f5fff9 color = R.color.color_f5fff9
}, },
FeatureBean( FeatureBean(
SCREENSHOT_CLEAN, SCREENSHOT_CLEAN,
R.string.screenshot_clean, R.string.screenshot_clean,
R.drawable.icon_screenshot_h, R.drawable.icon_screenshot_h,
).apply { ).apply {
color=R.color.color_f7feff color = R.color.color_f7feff
}, },
FeatureBean( FeatureBean(
LARGE_FILE_CLEAN, LARGE_FILE_CLEAN,
R.string.large_file_clean, R.string.large_file_clean,
R.drawable.icon_large_file_h, R.drawable.icon_large_file_h,
).apply { ).apply {
color=R.color.color_fff7fe color = R.color.color_fff7fe
}, },
) )
} }
...@@ -127,6 +127,9 @@ class HomeFragment : BaseFragment<FragmentHome2Binding>(FragmentHome2Binding::in ...@@ -127,6 +127,9 @@ class HomeFragment : BaseFragment<FragmentHome2Binding>(FragmentHome2Binding::in
binding.flClean.setOnClickListener { binding.flClean.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN) (requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN)
} }
binding.tvClean.setOnClickListener {
(requireActivity() as MainActivity).permissionStorageJump(JUNK_CLEAN)
}
adapter.itemClick = { adapter.itemClick = {
......
...@@ -109,7 +109,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding ...@@ -109,7 +109,7 @@ class SplashActivity : BaseActivity<ActivitySplashBinding>(ActivitySplashBinding
binding.tvPrivacy.text = spannableString binding.tvPrivacy.text = spannableString
binding.tvPrivacy.movementMethod = LinkMovementMethod.getInstance() binding.tvPrivacy.movementMethod = LinkMovementMethod.getInstance()
binding.tvPrivacy.setLinkTextColor("#0456ED".toColorInt()) binding.tvPrivacy.setLinkTextColor("#F2FEF8".toColorInt())
// val spannableString2 = SpannableString("terms of service") // val spannableString2 = SpannableString("terms of service")
// spannableString2.setSpan(UnderlineSpan(), 0, spannableString2.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE) // spannableString2.setSpan(UnderlineSpan(), 0, spannableString2.length, Spanned.SPAN_INCLUSIVE_INCLUSIVE)
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:endColor="#4FE5B6"
android:startColor="#70EB91" />
</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="#F2F4F5" />
<corners
android:topLeftRadius="@dimen/dp_24"
android:topRightRadius="@dimen/dp_24" />
</shape>
\ No newline at end of file
<?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.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="0dp"
android:scaleType="fitXY"
app:layout_constraintBottom_toBottomOf="@id/cl_top"
app:layout_constraintTop_toTopOf="parent"
app:srcCompat="@drawable/bg_junk_clean" />
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/cl_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"
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"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<androidx.appcompat.widget.AppCompatTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="@dimen/dp_8"
android:text="@string/junk_clean"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="@id/ivBack"
app:layout_constraintStart_toEndOf="@id/ivBack"
app:layout_constraintTop_toTopOf="@id/ivBack" />
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/viewPager2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/ivBack"
tools:layout_height="@dimen/dp_300" />
<com.zhpan.indicator.IndicatorView
android:id="@+id/indicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:layout_marginBottom="@dimen/dp_38"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/viewPager2" />
</androidx.constraintlayout.widget.ConstraintLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/dp__30"
android:background="@drawable/bg_f2f4f5_tlr24"
android:orientation="vertical"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@id/tv_clean"
app:layout_constraintTop_toBottomOf="@id/cl_top"
tools:ignore="SpeakableTextPresentCheck">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp_24"
android:layout_marginTop="@dimen/dp_20"
android:text="@string/clean_tips" />
<pokercc.android.expandablerecyclerview.ExpandableRecyclerView
android:id="@+id/expandable_files"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_12"
android:layout_weight="1"
android:background="@color/transparent"
android:overScrollMode="never"
android:scrollbars="none"
tools:ignore="SpeakableTextPresentCheck" />
</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_clean"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="30dp"
android:layout_marginBottom="30dp"
android:background="@drawable/bg_btn_enable_50"
android:gravity="center"
android:paddingVertical="12dp"
android:text="@string/clean"
android:textColor="@color/colorPrimary"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
tools:ignore="TextContrastCheck"
tools:layout_editor_absoluteX="30dp" />
<include
android:id="@+id/layout_animation"
layout="@layout/layout_animation"
android:visibility="gone" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
android:id="@+id/tvName" android:id="@+id/tvName"
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_40" android:layout_marginTop="@dimen/dp_8"
android:text="@string/app_name" android:text="@string/app_name"
android:textColor="@color/black" android:textColor="@color/black"
android:textSize="20sp" android:textSize="20sp"
......
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.clean.CleanNativeFragment">
<com.base.appzxhy.business.ads.NativeParentView
android:id="@+id/flAd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/img_guanggao"
tools:ignore="ImageContrastCheck" />
</com.base.appzxhy.business.ads.NativeParentView>
</FrameLayout>
\ 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:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.clean.CleanPageFragment">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center_horizontal"
android:orientation="vertical"
tools:ignore="UselessParent">
<androidx.appcompat.widget.AppCompatImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/img_shuju" />
<TextView
android:id="@+id/tvPath"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp_4"
android:ellipsize="end"
android:gravity="center"
android:paddingHorizontal="@dimen/dp_8"
android:singleLine="true"
android:text="@string/scan_completed"
android:textColor="@color/white"
android:textSize="@dimen/sp_16"
android:textStyle="bold" />
</LinearLayout>
</FrameLayout>
\ No newline at end of file
...@@ -145,6 +145,7 @@ ...@@ -145,6 +145,7 @@
</FrameLayout> </FrameLayout>
<TextView <TextView
android:id="@+id/tvClean"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/dp_50" android:layout_height="@dimen/dp_50"
android:layout_marginHorizontal="@dimen/dp_80" android:layout_marginHorizontal="@dimen/dp_80"
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
android:layout_height="@dimen/dp_50" android:layout_height="@dimen/dp_50"
android:layout_marginStart="@dimen/dp_14" android:layout_marginStart="@dimen/dp_14"
android:layout_marginTop="@dimen/dp_16" android:layout_marginTop="@dimen/dp_16"
android:src="@drawable/h_junkclean" android:src="@mipmap/logo"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
......
...@@ -25,8 +25,8 @@ ...@@ -25,8 +25,8 @@
android:layout_marginStart="4dp" android:layout_marginStart="4dp"
android:layout_marginEnd="4dp" android:layout_marginEnd="4dp"
android:text="@string/app_name" android:text="@string/app_name"
android:textColor="@color/color_666666" android:textColor="#999999"
android:textSize="14sp" android:textSize="@dimen/sp_16"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toStartOf="@id/tv_length" app:layout_constraintEnd_toStartOf="@id/tv_length"
app:layout_constraintStart_toEndOf="@id/iv_icon" app:layout_constraintStart_toEndOf="@id/iv_icon"
......
...@@ -29,10 +29,10 @@ ...@@ -29,10 +29,10 @@
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_marginStart="4dp" android:layout_marginStart="@dimen/dp_12"
android:text="@string/app_name" android:text="@string/app_name"
android:textColor="@color/color_1a1a1a" android:textColor="@color/color_1a1a1a"
android:textSize="16sp" android:textSize="@dimen/sp_16"
app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toEndOf="@id/iv_icon" app:layout_constraintStart_toEndOf="@id/iv_icon"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
......
...@@ -58,4 +58,8 @@ ...@@ -58,4 +58,8 @@
<dimen name="dp_220">220dp</dimen> <dimen name="dp_220">220dp</dimen>
<dimen name="dp_39">39dp</dimen> <dimen name="dp_39">39dp</dimen>
<dimen name="dp_62">62dp</dimen> <dimen name="dp_62">62dp</dimen>
<dimen name="dp_375">375dp</dimen>
<dimen name="dp_350">350dp</dimen>
<dimen name="dp__30">-30dp</dimen>
<dimen name="dp__10">-10dp</dimen>
</resources> </resources>
\ No newline at end of file
...@@ -167,6 +167,9 @@ Please rest assured that we will handle your information in strict accordance wi ...@@ -167,6 +167,9 @@ Please rest assured that we will handle your information in strict accordance wi
<string name="exit_uninstall_app_content">Exit Uninstall App? Unused applications may occupy phone storage</string> <string name="exit_uninstall_app_content">Exit Uninstall App? Unused applications may occupy phone storage</string>
<string name="notify_uninstall_app">Uninstall unused applications save phone storage.</string> <string name="notify_uninstall_app">Uninstall unused applications save phone storage.</string>
<string name="quick_clean">Quick Clean</string> <string name="quick_clean">Quick Clean</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="scan_completed">Scan Completed</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