AppCompat Snackbar不以平板电脑为中心

我试图显示一个小吃(通过appcompat)显示一条消息给用户。 它在手机上运行得非常好,但是在平板电脑上,我得到了

肖像

景观

我用来生成快餐栏的代码是

Snackbar.make(mHomeContainer, R.string.rate_snackbar, Snackbar.LENGTH_LONG) .setAction("Rate", ...) .show(); 

任何指导如何使这个小吃中心将不胜感激

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <View android:id="@+id/status_bar" android:layout_width="match_parent" android:layout_height="0dp" android:background="@color/main" android:elevation="8dp"/> <include layout="@layout/toolbar" /> <RelativeLayout android:id="@+id/home_container" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentBottom="true" /> <ListView android:id="@+id/home_search_list" android:visibility="gone" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#88000000"/> </RelativeLayout> </LinearLayout> <include layout="@layout/navigation_list" /> </android.support.v4.widget.DrawerLayout> 

Solutions Collecting From Web of "AppCompat Snackbar不以平板电脑为中心"

您需要使用CoordinatorLayout来实现这一点。 这里是一篇文章 ,描述如何做到这一点。 此外,您现在可能需要提供要用于非平板电脑与平板电脑的布局文件,以便您可以保留手机的全宽。 如果您使用FAB,应用程序栏和Snackbar的组合,这也是您需要使用的布局组件。

在devise支持库的v22.2.0中,Snackbar的默认重力只是Gravity.BOTTOM。

在v22.2.1中,此问题已修复: https : //code.google.com/p/android/issues/detail? id = 176383