fix footer text margins

This commit is contained in:
sk
2023-06-04 22:12:45 +02:00
parent f090ca7f75
commit 6522403c37
5 changed files with 71 additions and 48 deletions

View File

@@ -56,8 +56,8 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
} }
public static class Holder extends StatusDisplayItem.Holder<FooterStatusDisplayItem>{ public static class Holder extends StatusDisplayItem.Holder<FooterStatusDisplayItem>{
private final TextView reply, boost, favorite; private final TextView replies, boosts, favorites;
private final ImageView share, bookmark; private final View reply, boost, favorite, share, bookmark;
private static final Animation opacityOut, opacityIn; private static final Animation opacityOut, opacityIn;
private View touchingView = null; private View touchingView = null;
@@ -91,21 +91,16 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
public Holder(Activity activity, ViewGroup parent){ public Holder(Activity activity, ViewGroup parent){
super(activity, R.layout.display_item_footer, parent); super(activity, R.layout.display_item_footer, parent);
reply=findViewById(R.id.reply); replies=findViewById(R.id.reply);
boost=findViewById(R.id.boost); boosts=findViewById(R.id.boost);
favorite=findViewById(R.id.favorite); favorites=findViewById(R.id.favorite);
bookmark=findViewById(R.id.bookmark);
share=findViewById(R.id.share); reply=findViewById(R.id.reply_btn);
if(Build.VERSION.SDK_INT<Build.VERSION_CODES.N){ boost=findViewById(R.id.boost_btn);
UiUtils.fixCompoundDrawableTintOnAndroid6(reply); favorite=findViewById(R.id.favorite_btn);
UiUtils.fixCompoundDrawableTintOnAndroid6(boost); share=findViewById(R.id.share_btn);
UiUtils.fixCompoundDrawableTintOnAndroid6(favorite); bookmark=findViewById(R.id.bookmark_btn);
}
View reply=findViewById(R.id.reply_btn);
View boost=findViewById(R.id.boost_btn);
View favorite=findViewById(R.id.favorite_btn);
View share=findViewById(R.id.share_btn);
View bookmark=findViewById(R.id.bookmark_btn);
reply.setOnTouchListener(this::onButtonTouch); reply.setOnTouchListener(this::onButtonTouch);
reply.setOnClickListener(this::onReplyClick); reply.setOnClickListener(this::onReplyClick);
reply.setOnLongClickListener(this::onReplyLongClick); reply.setOnLongClickListener(this::onReplyLongClick);
@@ -130,9 +125,9 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
@Override @Override
public void onBind(FooterStatusDisplayItem item){ public void onBind(FooterStatusDisplayItem item){
bindButton(reply, item.status.repliesCount); bindButton(replies, item.status.repliesCount);
bindButton(boost, item.status.reblogsCount); bindButton(boosts, item.status.reblogsCount);
bindButton(favorite, item.status.favouritesCount); bindButton(favorites, item.status.favouritesCount);
// in thread view, direct descendant posts display one direct reply to themselves, // in thread view, direct descendant posts display one direct reply to themselves,
// hence in that case displaying whether there is another reply // hence in that case displaying whether there is another reply
int compareTo = item.isMainStatus || !item.hasDescendantNeighbor ? 0 : 1; int compareTo = item.isMainStatus || !item.hasDescendantNeighbor ? 0 : 1;
@@ -220,13 +215,13 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
onBoostLongClick(v); onBoostLongClick(v);
return; return;
} }
boost.setSelected(!item.status.reblogged); boosts.setSelected(!item.status.reblogged);
AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setReblogged(item.status, !item.status.reblogged, null, r->boostConsumer(v, r)); AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setReblogged(item.status, !item.status.reblogged, null, r->boostConsumer(v, r));
} }
private void boostConsumer(View v, Status r) { private void boostConsumer(View v, Status r) {
v.startAnimation(opacityIn); v.startAnimation(opacityIn);
bindButton(boost, r.reblogsCount); bindButton(boosts, r.reblogsCount);
} }
private boolean onBoostLongClick(View v){ private boolean onBoostLongClick(View v){
@@ -312,10 +307,10 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
} }
private void onFavoriteClick(View v){ private void onFavoriteClick(View v){
favorite.setSelected(!item.status.favourited); favorites.setSelected(!item.status.favourited);
AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setFavorited(item.status, !item.status.favourited, r->{ AccountSessionManager.getInstance().getAccount(item.accountID).getStatusInteractionController().setFavorited(item.status, !item.status.favourited, r->{
v.startAnimation(opacityIn); v.startAnimation(opacityIn);
bindButton(favorite, r.favouritesCount); bindButton(favorites, r.favouritesCount);
}); });
} }

View File

@@ -2,5 +2,5 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="?android:colorAccent" android:state_selected="true"/> <item android:color="?android:colorAccent" android:state_selected="true"/>
<item android:color="?android:textColorSecondary" android:state_enabled="true"/> <item android:color="?android:textColorSecondary" android:state_enabled="true"/>
<item android:color="?android:textColorSecondary" android:alpha="0.3"/> <item android:color="?colorIconDisabled" />
</selector> </selector>

View File

@@ -18,80 +18,105 @@
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent"> android:layout_height="match_parent">
<FrameLayout <LinearLayout
android:id="@+id/reply_btn" android:id="@+id/reply_btn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"> android:paddingVertical="12dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:duplicateParentState="true"
android:src="@drawable/ic_fluent_chat_multiple_24sp_selector_text"
android:tint="?android:textColorSecondary"
android:gravity="center_vertical" />
<TextView <TextView
android:id="@+id/reply" android:id="@+id/reply"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:drawableStart="@drawable/ic_fluent_chat_multiple_24sp_selector_text" android:paddingStart="8dp"
android:drawablePadding="8dp" android:minWidth="16dp"
android:drawableTint="?android:textColorSecondary"
android:gravity="center_vertical" android:gravity="center_vertical"
android:textAppearance="@style/m3_label_large" android:textAppearance="@style/m3_label_large"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" android:ellipsize="end"
tools:text="123"/> tools:text="123"
</FrameLayout> tools:ignore="RtlSymmetry" />
</LinearLayout>
</FrameLayout> </FrameLayout>
<FrameLayout <FrameLayout
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent"> android:layout_height="match_parent">
<FrameLayout <LinearLayout
android:id="@+id/boost_btn" android:id="@+id/boost_btn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingHorizontal="16dp" android:foregroundTint="@color/boost_icon"
android:paddingVertical="12dp"> android:paddingVertical="12dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:duplicateParentState="true"
android:src="@drawable/ic_boost"
android:tint="@color/boost_icon"
android:gravity="center_vertical" />
<TextView <TextView
android:id="@+id/boost" android:id="@+id/boost"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:drawableStart="@drawable/ic_boost" android:paddingStart="8dp"
android:drawablePadding="8dp" android:minWidth="16dp"
android:drawableTint="@color/boost_icon"
android:textColor="@color/boost_icon" android:textColor="@color/boost_icon"
android:gravity="center_vertical" android:gravity="center_vertical"
android:textAppearance="@style/m3_label_large" android:textAppearance="@style/m3_label_large"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" android:ellipsize="end"
tools:text="123"/> tools:text="123"
</FrameLayout> tools:ignore="RtlSymmetry" />
</LinearLayout>
</FrameLayout> </FrameLayout>
<FrameLayout <FrameLayout
android:layout_weight="1" android:layout_weight="1"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent"> android:layout_height="match_parent">
<FrameLayout <LinearLayout
android:id="@+id/favorite_btn" android:id="@+id/favorite_btn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"> android:paddingVertical="12dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center_vertical"
android:layout_marginStart="16dp"
android:duplicateParentState="true"
android:src="@drawable/ic_fluent_star_24sp_selector"
android:tint="@color/favorite_icon"
android:gravity="center_vertical" />
<TextView <TextView
android:id="@+id/favorite" android:id="@+id/favorite"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:drawableStart="@drawable/ic_fluent_star_24sp_selector" android:paddingStart="8dp"
android:drawablePadding="8dp" android:minWidth="16dp"
android:drawableTint="@color/favorite_icon"
android:textColor="@color/favorite_icon" android:textColor="@color/favorite_icon"
android:gravity="center_vertical" android:gravity="center_vertical"
android:textAppearance="@style/m3_label_large" android:textAppearance="@style/m3_label_large"
android:maxLines="1" android:maxLines="1"
android:ellipsize="end" android:ellipsize="end"
tools:text="123"/> tools:text="123"
</FrameLayout> tools:ignore="RtlSymmetry" />
</LinearLayout>
</FrameLayout> </FrameLayout>
<FrameLayout <FrameLayout
@@ -102,13 +127,13 @@
android:id="@+id/bookmark_btn" android:id="@+id/bookmark_btn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"> android:paddingVertical="12dp">
<ImageView <ImageView
android:id="@+id/bookmark" android:id="@+id/bookmark"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginHorizontal="16dp"
android:src="@drawable/ic_fluent_bookmark_24sp_selector" android:src="@drawable/ic_fluent_bookmark_24sp_selector"
android:tint="@color/bookmark_icon" android:tint="@color/bookmark_icon"
android:gravity="center_vertical" android:gravity="center_vertical"
@@ -120,13 +145,13 @@
android:id="@+id/share_btn" android:id="@+id/share_btn"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:paddingHorizontal="16dp"
android:paddingVertical="12dp"> android:paddingVertical="12dp">
<ImageView <ImageView
android:id="@+id/share" android:id="@+id/share"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_gravity="center_vertical" android:layout_gravity="center_vertical"
android:layout_marginHorizontal="16dp"
android:src="@drawable/ic_fluent_share_24sp_regular" android:src="@drawable/ic_fluent_share_24sp_regular"
android:tint="?android:textColorSecondary" android:tint="?android:textColorSecondary"
android:gravity="center_vertical"/> android:gravity="center_vertical"/>

View File

@@ -21,6 +21,7 @@
<attr name="colorAccentLightest" format="color"/> <attr name="colorAccentLightest" format="color"/>
<attr name="profileHeaderBackground" format="color"/> <attr name="profileHeaderBackground" format="color"/>
<attr name="toolbarBackground" format="color"/> <attr name="toolbarBackground" format="color"/>
<attr name="colorIconDisabled" format="color"/>
<attr name="colorButtonBackgroundPrimaryDarkOnLight" format="color"/> <attr name="colorButtonBackgroundPrimaryDarkOnLight" format="color"/>
<attr name="colorButtonBackgroundPrimaryDarkOnLightDisabled" format="color"/> <attr name="colorButtonBackgroundPrimaryDarkOnLightDisabled" format="color"/>

View File

@@ -28,6 +28,7 @@
<item name="android:colorBackground">?colorGray100</item> <item name="android:colorBackground">?colorGray100</item>
<item name="android:textColorPrimary">?colorGray800</item> <item name="android:textColorPrimary">?colorGray800</item>
<item name="android:textColorSecondary">?colorGray500</item> <item name="android:textColorSecondary">?colorGray500</item>
<item name="colorIconDisabled">?colorGray300</item>
<item name="colorButtonText">?colorGray50</item> <item name="colorButtonText">?colorGray50</item>
<item name="colorSecondary">#E9EDF2</item> <item name="colorSecondary">#E9EDF2</item>
<item name="colorBackgroundLight">?colorGray50</item> <item name="colorBackgroundLight">?colorGray50</item>
@@ -127,6 +128,7 @@
<item name="android:colorBackground">?colorGray700</item> <item name="android:colorBackground">?colorGray700</item>
<item name="android:textColorPrimary">?colorGray50</item> <item name="android:textColorPrimary">?colorGray50</item>
<item name="android:textColorSecondary">?colorGray400</item> <item name="android:textColorSecondary">?colorGray400</item>
<item name="colorIconDisabled">?colorGray500</item>
<item name="colorButtonText">?colorGray800</item> <item name="colorButtonText">?colorGray800</item>
<item name="colorSecondary">#E9EDF2</item> <item name="colorSecondary">#E9EDF2</item>
<item name="colorBackgroundLight">?colorGray700</item> <item name="colorBackgroundLight">?colorGray700</item>