有没有办法在xml文件中获取android中导航栏的大小?
android:paddingTop="?android:attr/actionBarSize"
其中actionBarSize是导航栏大小?
答案 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)
正如许多类似问题(例如this,this,this和this中所建议的那样,仅获取导航栏的高度可能还不够。我们需要考虑是否 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