From 5135653cd3f46790dae1bdb1cf2e13f922c04bfe Mon Sep 17 00:00:00 2001 From: sk Date: Wed, 18 Oct 2023 21:01:31 +0200 Subject: [PATCH] wow!! configurable first fraction --- .../ui/views/HeaderSubtitleLinearLayout.java | 23 +++++++++++++++---- .../main/res/layout/display_item_header.xml | 2 ++ .../display_item_reblog_or_reply_line.xml | 2 ++ mastodon/src/main/res/values/attrs.xml | 4 ++++ 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/mastodon/src/main/java/org/joinmastodon/android/ui/views/HeaderSubtitleLinearLayout.java b/mastodon/src/main/java/org/joinmastodon/android/ui/views/HeaderSubtitleLinearLayout.java index 3cf5f9edb..58e50c9d0 100644 --- a/mastodon/src/main/java/org/joinmastodon/android/ui/views/HeaderSubtitleLinearLayout.java +++ b/mastodon/src/main/java/org/joinmastodon/android/ui/views/HeaderSubtitleLinearLayout.java @@ -1,27 +1,34 @@ package org.joinmastodon.android.ui.views; import android.content.Context; +import android.content.res.TypedArray; import android.util.AttributeSet; import android.view.View; import android.widget.LinearLayout; import android.widget.TextView; -import me.grishka.appkit.utils.V; +import org.joinmastodon.android.R; /** * A LinearLayout for TextViews. First child TextView will get truncated if it doesn't fit, remaining will always wrap content. */ public class HeaderSubtitleLinearLayout extends LinearLayout{ + private float firstFraction; + public HeaderSubtitleLinearLayout(Context context){ - super(context); + this(context, null); } public HeaderSubtitleLinearLayout(Context context, AttributeSet attrs){ - super(context, attrs); + this(context, attrs, 0); } public HeaderSubtitleLinearLayout(Context context, AttributeSet attrs, int defStyleAttr){ super(context, attrs, defStyleAttr); + TypedArray ta=context.obtainStyledAttributes(attrs, R.styleable.HeaderSubtitleLinearLayout); + firstFraction=ta.getFraction(R.styleable.HeaderSubtitleLinearLayout_firstFraction, 1, 1, 0.5f); + System.out.println("FRACTION " + firstFraction); + ta.recycle(); } @Override @@ -39,7 +46,7 @@ public class HeaderSubtitleLinearLayout extends LinearLayout{ } View first=getChildAt(0); if(first instanceof TextView){ - ((TextView) first).setMaxWidth(Math.max(remainingWidth, fullWidth/3*2)); + ((TextView) first).setMaxWidth(Math.max(remainingWidth, (int)(firstFraction*fullWidth))); } }else{ View first=getChildAt(0); @@ -58,4 +65,12 @@ public class HeaderSubtitleLinearLayout extends LinearLayout{ } return count; } + + public void setFirstFraction(float firstFraction){ + this.firstFraction=firstFraction; + } + + public float getFirstFraction(){ + return firstFraction; + } } diff --git a/mastodon/src/main/res/layout/display_item_header.xml b/mastodon/src/main/res/layout/display_item_header.xml index 36fe7aff3..709527998 100644 --- a/mastodon/src/main/res/layout/display_item_header.xml +++ b/mastodon/src/main/res/layout/display_item_header.xml @@ -1,6 +1,7 @@ @@ -107,6 +108,7 @@ + + + + \ No newline at end of file