commit
2388820ec1
2 changed files with 29 additions and 5 deletions
|
@ -388,13 +388,18 @@ public class AndroidUtils {
|
|||
: ctx.getResources().getColor(R.color.text_color_secondary_light));
|
||||
}
|
||||
|
||||
|
||||
public static int getTextWidth(float textSize, String text) {
|
||||
Paint paint = new Paint();
|
||||
paint.setTextSize(textSize);
|
||||
return (int) paint.measureText(text);
|
||||
}
|
||||
|
||||
public static int getTextHeight(Paint paint) {
|
||||
Paint.FontMetrics fm = paint.getFontMetrics();
|
||||
float height = fm.bottom - fm.top;
|
||||
return (int) height;
|
||||
}
|
||||
|
||||
public static int dpToPx(Context ctx, float dp) {
|
||||
Resources r = ctx.getResources();
|
||||
return (int) TypedValue.applyDimension(
|
||||
|
|
|
@ -3,7 +3,6 @@ package net.osmand.plus.routepreparationmenu;
|
|||
import android.Manifest;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Bundle;
|
||||
|
@ -552,10 +551,10 @@ public class AddPointBottomSheetDialog extends MenuBottomSheetDialogFragment {
|
|||
if (activity != null) {
|
||||
RecyclerView.LayoutParams layoutParams = (RecyclerView.LayoutParams) view.getLayoutParams();
|
||||
if (AndroidUiHelper.isOrientationPortrait(getActivity())) {
|
||||
layoutParams.width = AndroidUtils.getScreenWidth(activity) / 2;
|
||||
layoutParams.width = (int) (AndroidUtils.getScreenWidth(activity) / 2.5);
|
||||
} else {
|
||||
// 11.5dp is the shadow width
|
||||
layoutParams.width = (getResources().getDimensionPixelSize(R.dimen.landscape_bottom_sheet_dialog_fragment_width) / 2) - AndroidUtils.dpToPx(activity, 11.5f);
|
||||
layoutParams.width = (int) ((getResources().getDimensionPixelSize(R.dimen.landscape_bottom_sheet_dialog_fragment_width) / 2.5) - AndroidUtils.dpToPx(activity, 11.5f));
|
||||
}
|
||||
view.setLayoutParams(layoutParams);
|
||||
}
|
||||
|
@ -585,6 +584,26 @@ public class AddPointBottomSheetDialog extends MenuBottomSheetDialogFragment {
|
|||
super(app, items);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int viewType) {
|
||||
RecyclerView.ViewHolder viewHolder = super.onCreateViewHolder(viewGroup, viewType);
|
||||
|
||||
TextView title = viewHolder.itemView.findViewById(R.id.title);
|
||||
TextView description = viewHolder.itemView.findViewById(R.id.description);
|
||||
if (title != null && description != null) {
|
||||
int titleHeight = AndroidUtils.getTextHeight(title.getPaint());
|
||||
int descriptionHeight = AndroidUtils.getTextHeight(description.getPaint());
|
||||
int minTextHeight = titleHeight + descriptionHeight * 2;
|
||||
int defaultItemHeight = viewGroup.getContext().getResources().getDimensionPixelSize(R.dimen.bottom_sheet_selected_item_title_height);
|
||||
if (defaultItemHeight < minTextHeight) {
|
||||
viewHolder.itemView.setMinimumHeight(minTextHeight);
|
||||
}
|
||||
}
|
||||
|
||||
return viewHolder;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
|
||||
OsmandApplication app = getApp();
|
||||
|
|
Loading…
Reference in a new issue