Skip to content

Commit

Permalink
Merge pull request #3412 from mauriciocolli/improve-drawer-title-size…
Browse files Browse the repository at this point in the history
…-handling

Improve size handling of the drawer header title
  • Loading branch information
TobiGr committed Apr 10, 2020
2 parents bd9b2d5 + 506d1dc commit 6b47df7
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 7 deletions.
15 changes: 15 additions & 0 deletions app/src/main/java/org/schabi/newpipe/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.AdapterView;
Expand Down Expand Up @@ -301,6 +302,20 @@ private void setupDrawerHeader() {
headerServiceView = hView.findViewById(R.id.drawer_header_service_view);
toggleServiceButton = hView.findViewById(R.id.drawer_header_action_button);
toggleServiceButton.setOnClickListener(view -> toggleServices());

// If the current app name is bigger than the default "NewPipe" (7 chars),
// let the text view grow a little more as well.
if (getString(R.string.app_name).length() > "NewPipe".length()) {
final TextView headerTitle = hView.findViewById(R.id.drawer_header_newpipe_title);
final ViewGroup.LayoutParams layoutParams = headerTitle.getLayoutParams();
layoutParams.width = ViewGroup.LayoutParams.WRAP_CONTENT;
headerTitle.setLayoutParams(layoutParams);
headerTitle.setMaxLines(2);
headerTitle.setMinWidth(getResources()
.getDimensionPixelSize(R.dimen.drawer_header_newpipe_title_default_width));
headerTitle.setMaxWidth(getResources()
.getDimensionPixelSize(R.dimen.drawer_header_newpipe_title_max_width));
}
}

private void toggleServices() {
Expand Down
9 changes: 4 additions & 5 deletions app/src/main/res/layout/drawer_header.xml
Original file line number Diff line number Diff line change
Expand Up @@ -45,22 +45,21 @@

<TextView
android:id="@+id/drawer_header_newpipe_title"
android:layout_width="wrap_content"
android:layout_width="@dimen/drawer_header_newpipe_title_default_width"
android:layout_height="match_parent"
android:layout_marginEnd="@dimen/drawer_header_newpipe_icon_title_space"
android:ellipsize="end"
android:gravity="start|center_vertical"
android:hyphenationFrequency="full"
android:maxWidth="@dimen/drawer_header_newpipe_title_max_width"
android:maxLines="2"
android:minWidth="@dimen/drawer_header_newpipe_title_min_width"
android:maxLines="1"
android:text="@string/app_name"
android:textColor="@color/drawer_header_font_color"
android:textStyle="bold"
app:autoSizeMaxTextSize="@dimen/drawer_header_newpipe_title_max_text_size"
app:autoSizeMinTextSize="@dimen/drawer_header_newpipe_title_min_text_size"
app:autoSizeTextType="uniform"
tools:ignore="UnusedAttribute" />
tools:ignore="UnusedAttribute"
tools:text="NewPipe" />
</LinearLayout>

<LinearLayout
Expand Down
4 changes: 2 additions & 2 deletions app/src/main/res/values/dimens.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
<dimen name="drawer_header_padding_top">16dp</dimen>
<dimen name="drawer_header_newpipe_icon_size">48dp</dimen>
<dimen name="drawer_header_newpipe_icon_title_space">12dp</dimen>
<dimen name="drawer_header_newpipe_title_min_width">120dp</dimen>
<dimen name="drawer_header_newpipe_title_max_width">220dp</dimen>
<dimen name="drawer_header_newpipe_title_default_width">130dp</dimen>
<dimen name="drawer_header_newpipe_title_max_width">200dp</dimen>
<dimen name="drawer_header_newpipe_title_min_text_size">18sp</dimen>
<dimen name="drawer_header_newpipe_title_max_text_size">32sp</dimen>
<dimen name="drawer_header_service_icon_size">16dp</dimen>
Expand Down

0 comments on commit 6b47df7

Please sign in to comment.