Android导航栏大小以xml为单位

时间:2014-09-01 10:26:11

标签: android android-layout android-xml

有没有办法在xml文件中获取android中导航栏的大小?

 android:paddingTop="?android:attr/actionBarSize"

其中actionBarSize是导航栏大小?

3 个答案:

答案 0 :(得分:23)

在查看android源代码后,看起来导航栏高度有维度:

@android:dimen/navigation_bar_height

There是链接到导航栏的其他尺寸,来自android values / dimens.xml的示例:

<!-- Height of the bottom navigation / system bar. -->
<dimen name="navigation_bar_height">48dp</dimen>
<!-- Height of the bottom navigation bar in portrait; often the same as @dimen/navigation_bar_height -->
<dimen name="navigation_bar_height_landscape">48dp</dimen>
<!-- Width of the navigation bar when it is placed vertically on the screen -->
<dimen name="navigation_bar_width">42dp</dimen>

答案 1 :(得分:4)

试试这个code

list <- map["name"]

答案 2 :(得分:1)

正如许多类似问题(例如thisthisthisthis中所建议的那样,仅获取导航栏的高度可能还不够。我们需要考虑是否 1。导航栏存在; 2。在底部还是向右或向左; 3。在多窗口模式下打开的应用程序。

有一个简单的单行解决方案

android:fitsSystemWindows="true"

或以编程方式

findViewById(R.id.your_root_view).setFitsSystemWindows(true);

您还可以通过

获得根视图
findViewById(android.R.id.content).getRootView();
or
getWindow().getDecorView().findViewById(android.R.id.content)

有关获取根视图的更多详细信息,请参考-https://stackoverflow.com/a/4488149/9640177