我有一个布局,其中按钮在RelativeLayout的底部对齐,如下面的代码所示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="250dp"
android:background="@color/background_material_light"
android:layout_height="match_parent">
<View
android:layout_alignParentLeft="true"
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/strokeColor"/>
<RelativeLayout
android:id="@+id/rlHeaderFilter"
android:layout_width="match_parent"
android:layout_height="@dimen/abc_action_bar_default_height_material">
<View
android:id="@+id/separator"
android:layout_width="1dp"
android:layout_height="match_parent"
android:background="@color/strokeColor"/>
<TextView
android:background="@color/actionbar_background"
android:id="@+id/tvFilterText"
style="@style/textStyleHeading2"
android:layout_toRightOf="@+id/separator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:gravity="center"
android:textColor="@color/white"
android:text="Filter Search" />
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_alignParentRight="true"
android:src="@drawable/refresh"
android:id="@+id/resetLeadsFilter"
android:contentDescription="@string/emptyString"
android:layout_centerVertical="true"
android:padding="6dp"/>
</RelativeLayout>
<TextView
android:layout_below="@+id/rlHeaderFilter"
android:layout_marginTop="10dp"
android:id="@+id/tvBudgetFromFilter"
style="@style/textSpinnerStyleHeading"
android:layout_margin="8dp"
android:hint="Budget From"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_below="@+id/tvBudgetFromFilter"
android:layout_marginTop="10dp"
android:id="@+id/tvBudgetToFilter"
style="@style/textSpinnerStyleHeading"
android:layout_margin="8dp"
android:hint="Budget To"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<include
android:layout_marginTop="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:layout_below="@+id/tvBudgetToFilter"
android:id="@+id/sourceLayout"
layout="@layout/source_layout" />
<include
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/statusLayout"
android:layout_margin="8dp"
android:layout_below="@+id/sourceLayout"
layout="@layout/status_layout" />
<Button
android:layout_alignParentBottom="true"
android:layout_gravity="bottom"
android:layout_marginTop="10dp"
android:textColor="@color/white"
android:background="@color/actionbar_background"
android:text="SEARCH"
android:id="@+id/bFilterLeads"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
我可以看到布局底部的按钮,如屏幕截图所示。它在Lollipop设备中显示如下(低于&lt; 5.0设备):
但是在Lollipop中,底部的按钮不会显示如下屏幕截图所示:
我无法理解,请帮助我。提前致谢 。
答案 0 :(得分:2)
我已经解决了我的问题!事实上,LinearLayout落后于navigationBar。要修复它,只需将此行添加到Activity(在setContentView();)之后
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
答案 1 :(得分:1)
我不确定为什么Lollipop / pre-Lollipop之间的布局表现不同(除非有其他部分没有显示)。我会指出,虽然我认为layoutGravity
对于RelativeLayout
中的观看是有效的 - 这是您在LinearLayout
中使用的内容。我首先删除该属性并查看它在前Lollipop上的行为,然后在完成后查看有关更正布局的信息。可能是layoutGravity
在Lollipop之前造成某种不正确的行为。