Calculate drawer width

pull/180/head
M66B 5 years ago
parent e03e4302e7
commit 39aaaf512b

@ -37,13 +37,14 @@ import android.net.Uri;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler; import android.os.Handler;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.ViewGroup; import android.view.ViewGroup;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageButton; import android.widget.ImageButton;
import android.widget.ScrollView;
import android.widget.Toast; import android.widget.Toast;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
@ -158,8 +159,8 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
Log.i("Orientation=" + config.orientation + " normal=" + normal + Log.i("Orientation=" + config.orientation + " normal=" + normal +
" landscape=" + landscape + "/" + landscape3); " landscape=" + landscape + "/" + landscape3);
view = LayoutInflater.from(this).inflate( boolean portrait = (config.orientation == ORIENTATION_PORTRAIT || !normal || !landscape);
config.orientation == ORIENTATION_PORTRAIT || !normal || !landscape view = LayoutInflater.from(this).inflate(portrait
? R.layout.activity_view_portrait ? R.layout.activity_view_portrait
: R.layout.activity_view_landscape, null); : R.layout.activity_view_landscape, null);
setContentView(view); setContentView(view);
@ -219,6 +220,24 @@ public class ActivityView extends ActivityBilling implements FragmentManager.OnB
drawerContainer = findViewById(R.id.drawer_container); drawerContainer = findViewById(R.id.drawer_container);
int drawerWidth;
DisplayMetrics dm = getResources().getDisplayMetrics();
if (portrait || !landscape3) {
int actionBarHeight;
TypedValue tv = new TypedValue();
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))
actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, dm);
else
actionBarHeight = Helper.dp2pixels(this, 56);
int screenWidth = Math.min(dm.widthPixels, dm.heightPixels);
drawerWidth = screenWidth - actionBarHeight;
} else
drawerWidth = dm.widthPixels / 3;
ViewGroup.LayoutParams lparam = drawerContainer.getLayoutParams();
lparam.width = drawerWidth;
drawerContainer.setLayoutParams(lparam);
// Accounts // Accounts
ibExpanderAccount = drawerContainer.findViewById(R.id.ibExpanderAccount); ibExpanderAccount = drawerContainer.findViewById(R.id.ibExpanderAccount);

Loading…
Cancel
Save