gpt4 book ai didi

android - 如何根据 Material Ratio keylines 动态定义 AppBarLayout 高度

转载 作者:行者123 更新时间:2023-11-29 15:40:42 25 4
gpt4 key购买 nike

通常我将 AppBarLayout 的高度定义为 xml 布局中的固定 dp。例如;

<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="@dimen/detail_backdrop_height" />

当我更多地了解 Google material design 指南,我逐渐明白它有绝对比例来定义AppBarLayout的宽度和高度(尺寸),如下图。

要遵循这些宽高比AppBarLayout 的高度必须根据物理移动设备的不同屏幕宽度 进行更改。

因此,我想知道我应该如何动态定义 AppBarLayout 的高度以及我应该在哪里定义这些比例定义逻辑(我的意思是在 callback 方法中 Activity java 类)。

Keyline Matrics for AppBarLayout

最佳答案

你可以使用下面的代码获取屏幕的宽度和高度

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
int width = displaymetrics.widthPixels;

使用以下公式计算应用栏布局高度

int appbar_height = width/1.5;

然后使用

设置 Appbar 高度
AppBarLayout.LayoutParams layoutParams=new AppBarLayout.LayoutParams(AppBarLayout.LayoutParams.MATCH_PARENT,appbar_height);
AppBarLayout appBarLayout = (AppBarLayout) rootView.findViewById(R.id.appbar);
appBarLayout.setLayoutParams(params);

关于android - 如何根据 Material Ratio keylines 动态定义 AppBarLayout 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41055205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com