Bewegen Sie die Snackbar über die untere Leiste
Stehe ich vor einigen Problemen mit den neuen bottom bar.
Ich kann nicht zwingen, sich zu bewegen der snackbar oberhalb der unteren Leiste (das ist, wie man design-Richtlinie erzählte mir, sollte https://www.google.com/design/spec/components/bottom-navigation.html#bottom-navigation-specs).
Dies ist mein activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main_activity"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main_activity"
app:menu="@menu/activity_main_drawer" />
</android.support.v4.widget.DrawerLayout>
Dies ist mein app_bar_main_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context="test.tab_activity">
<android.support.design.widget.AppBarLayout
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="@dimen/appbar_padding_top"
android:theme="@style/MyAppTheme.NoActionBar.AppBarOverlay">
<android.support.v7.widget.Toolbar
android:id="@+id/main_activity_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/MyAppTheme.NoActionBar.PopupOverlay">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_add_white_24dp" />
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
style="@style/AppTabLayout"
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="?attr/colorPrimary"
/>
</LinearLayout>
Die snackbar in main_activity.java sieht so aus
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(findViewById(R.id.main_content), "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
InformationsquelleAutor der Frage Wladislaw | 2016-03-31
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
ersetzen Sie Ihre xml ->
und Die Snackbar code
InformationsquelleAutor der Antwort Zahidul Islam
Können Sie dies programmatisch tun, ohne unübersichtlich Ihrem xml mit extra CoordinatorLayouts durch ändern der snackbar Margen.
Java-Beispiel:
Kotlin einzigen Zeile:
InformationsquelleAutor der Antwort Amagi82
Vorausgesetzt, Ihre arbeiten mit CoordinatorLayout können Sie ändern Sie die Snackbar ist layoutparams vor dem Aufruf von show(). Durch die Einstellung der anchorId und anchorGravity der snackBar wird die Anzeige über dem unteren Navigationsleiste:
InformationsquelleAutor der Antwort user931289
Ich bin mit dem BottomNavigationView und Snackbar aus der design-support-Bibliothek version 25.3.1 auf Ziel-OS kitkat, lollipop und Marshmallow. Auf lollipop und vor Snackbar versteckt sich hinter BottomNavigationView aber in Kitkat BottomNavigationView verbirgt sich hinter Snackbar.
Habe ich versucht zu zeigen der Snackbar mit einem anderen Ansatz. Wenn der Snackbar wird das BottomNavigationView übersetzt wird auf der Y-Achse(nach unten gescrollt) mit dem translationY Eigentum und Interpolator. Sobald Snackbar gegangen, die BottomNavigationView erscheint wieder mit der gleichen translationY Eigenschaft.
Ausblenden der BottomNavigationView (nach unten):
Zeigt die BottomNavigationView zurück auf dem Bildschirm:
InformationsquelleAutor der Antwort Prashant
Gibt es große Artikel über, wie es zu benutzen HIER. Da Sie wissen, wie zu machen snackbar oben
BottomNavigationBar
Grundsätzlich den code unten präsentiert häufigste Verwendung
Toolbar
zusammen mitBottomNavigationBar
undFrameLayout
als Fragment-containerWichtig! Beachten Sie, dass
BottomNavigationView
verwendet layout_behaviour zu handhaben scrollen und SnackBar positionImplmenetation des Verhaltens zögern Sie nicht zu verwenden ! Es ist einfach und freundlich 😉 (scrollen)
InformationsquelleAutor der Antwort murt