SnackBar允许来自底栏

时间:2016-09-27 17:18:00

标签: android android-snackbar

我正在使用SnackBar作为相关操作的单行消息。

Snackbar snackBar;
public void showSnackBar(View view){
    snackBar = Snackbar.make(view, "Searching for GPS", Snackbar.LENGTH_INDEFINITE);
    snackBar.show();
}

在方法isGPSEnabled中,我使用方法showSnackBar

if(Helper.isGPSEnabled(this)){
            showSnackBar(findViewById(android.R.id.content));
}

但我得到了这个,

this

为什么SnackBar允许从底栏中留出一些空间?

修改

布局文件:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/content"
    android:orientation="vertical"
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"
    android:background="@android:drawable/edit_text"
    android:divider="@android:drawable/divider_horizontal_textfield"
    android:addStatesFromChildren="true">

<LinearLayout android:id="@+id/container"
    android:orientation="vertical"
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"
    android:paddingEnd="0dip"
/>

<AutoCompleteTextView android:id="@+id/edit"
    android:completionThreshold="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:singleLine="true"
    android:layout_gravity="center_vertical"
/>   
</LinearLayout>

2 个答案:

答案 0 :(得分:0)

请检查布局文件中的android.R.id.content视图。 如果是FrameLayout,SnackBar将显示在此视图的底部。如果您添加了填充,请尝试删除它。

如果您共享布局代码,可以更好地帮助您。

答案 1 :(得分:0)

更改内容&#39;线性layout_height =&#34; match_parent&#34;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/content"
    android:orientation="vertical"
    android:layout_width="match_parent" 
    android:layout_height="match_parent"
    android:background="@android:drawable/edit_text"
    android:divider="@android:drawable/divider_horizontal_textfield"
    android:addStatesFromChildren="true">

添加答案。试试这个。

在xml线性ID更改

android:id="@+id/content" to android:id="@+id/parentLinear"

和代码

LinearLayout linear = (LinearLayout)findViewById(R.id.parentLinear);
Snackbar.make(linear, "Searching for GPS", Snackbar.LENGTH_INDEFINITE).show();