mirror of
https://github.com/Aviortheking/Neo-Store.git
synced 2025-04-23 19:32:16 +00:00
Improve: More Rounded sections list
Add: Show Icon on install and cancel button
This commit is contained in:
parent
4fcbb45b3a
commit
49adc883fa
@ -31,6 +31,7 @@ import androidx.core.text.util.LinkifyCompat
|
||||
import androidx.core.view.doOnPreDraw
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import coil.load
|
||||
import com.google.android.material.button.MaterialButton
|
||||
import com.google.android.material.card.MaterialCardView
|
||||
import com.google.android.material.divider.MaterialDivider
|
||||
import com.google.android.material.imageview.ShapeableImageView
|
||||
@ -324,7 +325,7 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
|
||||
val icon = itemView.findViewById<ShapeableImageView>(R.id.icon)!!
|
||||
val name = itemView.findViewById<TextView>(R.id.name)!!
|
||||
val packageName = itemView.findViewById<TextView>(R.id.package_name)!!
|
||||
val action = itemView.findViewById<Button>(R.id.action)!!
|
||||
val action = itemView.findViewById<MaterialButton>(R.id.action)!!
|
||||
val statusLayout = itemView.findViewById<View>(R.id.status_layout)!!
|
||||
val status = itemView.findViewById<TextView>(R.id.status)!!
|
||||
val progress = itemView.findViewById<ProgressBar>(R.id.progress)!!
|
||||
@ -332,8 +333,10 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
|
||||
val progressIcon: Drawable
|
||||
val defaultIcon: Drawable
|
||||
|
||||
val actionTintNormal = action.context.getColorFromAttr(android.R.attr.colorPrimary)
|
||||
val actionTintNormal = action.context.getColorFromAttr(R.attr.colorSurface)
|
||||
val actionTintCancel = action.context.getColorFromAttr(R.attr.colorError)
|
||||
val actionTintOnNormal = action.context.getColorFromAttr(R.attr.colorOnSurface)
|
||||
val actionTintOnCancel = action.context.getColorFromAttr(R.attr.colorOnError)
|
||||
|
||||
init {
|
||||
action.apply {
|
||||
@ -1174,13 +1177,27 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
|
||||
setTextSizeScaled(15)
|
||||
}
|
||||
val action = action
|
||||
holder.action.visibility = if (action == null) View.GONE else View.VISIBLE
|
||||
if (action != null) {
|
||||
holder.action.setText(action.titleResId)
|
||||
}
|
||||
if (Android.sdk(22)) {
|
||||
holder.action.backgroundTintList = if (action == Action.CANCEL)
|
||||
holder.actionTintCancel else holder.actionTintNormal
|
||||
holder.action.apply {
|
||||
visibility = if (action == null) View.GONE else View.VISIBLE
|
||||
if (action != null) {
|
||||
setText(action.titleResId)
|
||||
setTextColor(
|
||||
if (action == Action.CANCEL) holder.actionTintOnCancel
|
||||
else holder.actionTintOnNormal
|
||||
)
|
||||
}
|
||||
if (Android.sdk(22)) {
|
||||
backgroundTintList = if (action == Action.CANCEL)
|
||||
holder.actionTintCancel else holder.actionTintNormal
|
||||
}
|
||||
icon =
|
||||
when (action) {
|
||||
Action.CANCEL -> context.getDrawable(R.drawable.ic_cancel)
|
||||
Action.LAUNCH -> context.getDrawable(R.drawable.ic_launch)
|
||||
else -> context.getDrawable(R.drawable.ic_download)
|
||||
}
|
||||
iconTint = if (action == Action.CANCEL) holder.actionTintOnCancel
|
||||
else holder.actionTintOnNormal
|
||||
}
|
||||
}
|
||||
if (updateAll || updateStatus) {
|
||||
|
@ -56,8 +56,8 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
|
||||
val adapterAction: ProductAdapter.Action,
|
||||
val iconResId: Int
|
||||
) {
|
||||
INSTALL(1, ProductAdapter.Action.INSTALL, R.drawable.ic_archive),
|
||||
UPDATE(2, ProductAdapter.Action.UPDATE, R.drawable.ic_archive),
|
||||
INSTALL(1, ProductAdapter.Action.INSTALL, R.drawable.ic_download),
|
||||
UPDATE(2, ProductAdapter.Action.UPDATE, R.drawable.ic_download),
|
||||
LAUNCH(3, ProductAdapter.Action.LAUNCH, R.drawable.ic_launch),
|
||||
DETAILS(4, ProductAdapter.Action.DETAILS, R.drawable.ic_tune),
|
||||
UNINSTALL(5, ProductAdapter.Action.UNINSTALL, R.drawable.ic_delete),
|
||||
|
@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:radius="@dimen/shape_medium_corner" />
|
||||
<corners android:radius="@dimen/shape_large_corner" />
|
||||
</shape>
|
10
src/main/res/drawable/ic_cancel.xml
Normal file
10
src/main/res/drawable/ic_cancel.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M18.3,5.71c-0.39,-0.39 -1.02,-0.39 -1.41,0L12,10.59 7.11,5.7c-0.39,-0.39 -1.02,-0.39 -1.41,0 -0.39,0.39 -0.39,1.02 0,1.41L10.59,12 5.7,16.89c-0.39,0.39 -0.39,1.02 0,1.41 0.39,0.39 1.02,0.39 1.41,0L12,13.41l4.89,4.89c0.39,0.39 1.02,0.39 1.41,0 0.39,-0.39 0.39,-1.02 0,-1.41L13.41,12l4.89,-4.89c0.38,-0.38 0.38,-1.02 0,-1.4z"/>
|
||||
</vector>
|
@ -20,8 +20,8 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/collapsingToolbarLayoutLargeSize"
|
||||
app:contentScrim="@android:color/transparent"
|
||||
app:titleCollapseMode="scale"
|
||||
app:layout_scrollFlags="scroll|snap|exitUntilCollapsed">
|
||||
app:layout_scrollFlags="scroll|snap|exitUntilCollapsed"
|
||||
app:titleCollapseMode="scale">
|
||||
|
||||
<com.google.android.material.appbar.MaterialToolbar
|
||||
android:id="@+id/toolbar"
|
||||
|
@ -5,9 +5,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="12dp"
|
||||
android:paddingTop="12dp"
|
||||
android:paddingEnd="12dp"
|
||||
android:paddingBottom="4dp">
|
||||
|
||||
<LinearLayout
|
||||
@ -15,6 +13,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center_vertical"
|
||||
android:orientation="horizontal"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingBottom="8dp">
|
||||
|
||||
<com.google.android.material.imageview.ShapeableImageView
|
||||
@ -56,8 +55,7 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"
|
||||
android:paddingStart="4dp"
|
||||
android:paddingEnd="4dp"
|
||||
android:paddingHorizontal="12dp"
|
||||
android:paddingBottom="4dp">
|
||||
|
||||
<TextView
|
||||
@ -82,6 +80,8 @@
|
||||
android:id="@+id/action"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="56dp"
|
||||
app:shapeAppearanceOverlay="@style/Shape.Medium" />
|
||||
android:layout_marginHorizontal="12dp"
|
||||
app:iconGravity="textStart"
|
||||
app:shapeAppearanceOverlay="@style/PillShapeAppearance" />
|
||||
|
||||
</LinearLayout>
|
||||
|
@ -131,4 +131,9 @@
|
||||
<item name="cornerSize">@dimen/shape_large_corner</item>
|
||||
</style>
|
||||
|
||||
<style name="PillShapeAppearance">
|
||||
<item name="cornerFamily">rounded</item>
|
||||
<item name="cornerSize">50%</item>
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
|
Loading…
x
Reference in New Issue
Block a user