diff --git a/app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java b/app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java index 257820ba..abf2e0c7 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java +++ b/app/src/main/java/app/fedilab/android/mastodon/helper/Helper.java @@ -34,6 +34,7 @@ import android.content.Intent; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; +import android.content.res.ColorStateList; import android.content.res.Configuration; import android.content.res.Resources; import android.database.Cursor; @@ -99,6 +100,7 @@ import com.bumptech.glide.load.resource.bitmap.CenterCrop; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; import com.bumptech.glide.load.resource.gif.GifDrawable; import com.bumptech.glide.request.RequestOptions; +import com.google.android.material.button.MaterialButton; import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.google.gson.Gson; import com.google.gson.GsonBuilder; @@ -1461,6 +1463,24 @@ public class Helper { imageView.setColorFilter(color); } + /** + * change color of a drawable + * + * @param materialButton {@link MaterialButton} + * @param hexaColor example 0xffff00 + */ + public static void changeDrawableColor(Context context, MaterialButton materialButton, int hexaColor) { + if (materialButton == null) + return; + int color; + try { + color = context.getResources().getColor(hexaColor); + } catch (Resources.NotFoundException e) { + color = hexaColor; + } + materialButton.setIconTint(ColorStateList.valueOf(color)); + } + /** * change color of a drawable * diff --git a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java index 694e600e..612416ff 100644 --- a/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java +++ b/app/src/main/java/app/fedilab/android/mastodon/ui/drawer/StatusAdapter.java @@ -1279,8 +1279,7 @@ public class StatusAdapter extends RecyclerView.Adapter holder.binding.actionButtonReply.getLayoutParams().height = (int) (normalSize * scaleIcon); holder.binding.actionButtonReply.requestLayout(); - holder.binding.actionButtonTranslate.getLayoutParams().width = (int) (normalSize * scaleIcon); - holder.binding.actionButtonTranslate.getLayoutParams().height = (int) (normalSize * scaleIcon); + holder.binding.actionButtonTranslate.setIconSize((int) (normalSize * scaleIcon)); holder.binding.actionButtonTranslate.requestLayout(); holder.binding.actionButtonBoost.setImageSize((int) (normalSize * scaleIcon)); @@ -1292,8 +1291,7 @@ public class StatusAdapter extends RecyclerView.Adapter holder.binding.statusAddCustomEmoji.getLayoutParams().height = (int) (normalSize * scaleIcon); holder.binding.statusAddCustomEmoji.requestLayout(); - holder.binding.actionButtonQuote.getLayoutParams().width = (int) (normalSize * scaleIcon); - holder.binding.actionButtonQuote.getLayoutParams().height = (int) (normalSize * scaleIcon); + holder.binding.actionButtonQuote.setIconSize((int) (normalSize * scaleIcon)); holder.binding.actionButtonQuote.requestLayout(); holder.binding.statusEmoji.getLayoutParams().width = (int) (normalSize * scaleIcon); diff --git a/app/src/main/res/layouts/mastodon/layout/drawer_status.xml b/app/src/main/res/layouts/mastodon/layout/drawer_status.xml index bab84261..1f76b85f 100644 --- a/app/src/main/res/layouts/mastodon/layout/drawer_status.xml +++ b/app/src/main/res/layouts/mastodon/layout/drawer_status.xml @@ -726,23 +726,20 @@ - + app:layout_constraintTop_toTopOf="parent" /> -