use sp for scaled footer

This commit is contained in:
sk 2023-06-04 21:08:45 +02:00
parent 2f02a238df
commit f090ca7f75
3 changed files with 13 additions and 3 deletions

View File

@ -182,7 +182,7 @@ public class FooterStatusDisplayItem extends StatusDisplayItem{
touchingView = v;
// 28dp to center in middle of icon, because:
// (icon width = 24dp) / 2 + (paddingStart = 8dp) + (paddingHorizontal = 8dp)
v.setPivotX(V.dp(28));
v.setPivotX(UiUtils.sp(v.getContext(), 28));
v.animate().scaleX(0.85f).scaleY(0.85f).setInterpolator(CubicBezierInterpolator.DEFAULT).setDuration(75).start();
if (disabled) return true;
v.postDelayed(longClickRunnable, ViewConfiguration.getLongPressTimeout());

View File

@ -1407,6 +1407,16 @@ public class UiUtils {
}
}
/**
* Scale the input value according to the device's scaled display density
* @param sp Input value in scale-independent pixels (sp)
* @return Scaled value in physical pixels (px)
*/
public static int sp(Context context, float sp){
// TODO: replace with V.sp in next AppKit version
return Math.round(sp*context.getApplicationContext().getResources().getDisplayMetrics().scaledDensity);
}
/**
* Wraps a View.OnClickListener to filter multiple clicks in succession.
* Useful for buttons that perform some action that changes their state asynchronously.

View File

@ -2,8 +2,8 @@
<org.joinmastodon.android.ui.views.MaxWidthFrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:maxWidth="600dp"
app:defaultWidth="450dp"
android:maxWidth="600sp"
app:defaultWidth="450sp"
android:layout_width="match_parent"
android:layout_height="wrap_content">