Не показывать androidx.appcompat.widget.Toolbar - PullRequest
0 голосов
/ 04 июля 2019

Android Studio 3.4

styles.xml

<style name="Main.Theme.Tango" parent="Theme.MaterialComponents.Light.NoActionBar">
        <!-- Customize your theme here -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <!--   darker variant for the status bar and contextual app bars -->
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <!--   theme UI controls like buttons, checkboxes and text fields or cursor -->
        <item name="colorAccent">@color/colorAccent</item>
    </style>

в декларации:

<application
            android:name=".main.MainApp"
            android:allowBackup="true"
            android:icon="@drawable/ic_app"
            android:label="@string/application_name"
            android:logo="@drawable/ic_app_logo"
            android:theme="@style/Main.Theme.Tango" >

В деятельности:

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.widget.Toolbar;

public class MainNavigationDrawerFragmentActivity extends AppCompatActivity{

 private void initialize(Bundle savedInstanceState) {
        mTitle = mDrawerTitle = getTitle();

        mToolbar = (Toolbar) findViewById(R.id.toolBar);
        setSupportActionBar(mToolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setHomeButtonEnabled(true);
        getSupportActionBar().setDisplayShowTitleEnabled(false);



mDrawerToggle = new ActionBarDrawerToggle(
                this,
                mDrawerLayout,
                mToolbar, R.string.application_name,
                R.string.application_name) {
            public void onDrawerClosed(View view) {
                mToolbar.setTitle(mTitle);
                invalidateOptionsMenu();
            }

    public void onDrawerOpened(View drawerView) {

        mToolbar.setTitle(mDrawerTitle);
        invalidateOptionsMenu();
        loadDraftsTotalNumber();
        loadActiveCart();
    }
};
    mDrawerLayout.setDrawerListener(mDrawerToggle);

и здесь макет:

<androidx.drawerlayout.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">

  <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolBar"
        android:layout_width="0dp"
        android:layout_height="56dp"
        android:background="#dc2700"

    <FrameLayout
            android:id="@+id/frame_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    </FrameLayout>


    <!-- Listview to display slider menu -->

    <ListView
            android:id="@+id/list_slidermenu"
            android:layout_width="288dp"
            android:layout_height="match_parent"
            android:layout_gravity="start"
            android:background="@color/list_background"
            android:choiceMode="singleChoice"
            android:divider="@null"
            android:listSelector="@drawable/list_selector"
            android:paddingLeft="16dip"
            android:paddingRight="16dip"/>

</androidx.drawerlayout.widget.DrawerLayout>

но панель инструментов не отображается:

enter image description here

Ответы [ 2 ]

0 голосов
/ 05 июля 2019

Я нашел решение

Панель инструментов И FrameLayout должны быть внутри LinearLayout:

   <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical">

         <androidx.appcompat.widget.Toolbar
            android:id="@+id/toolBar"
            android:layout_width="match_parent"
            android:layout_height="56dp"/>


        <!-- Framelayout to display Fragments -->
        <FrameLayout
                android:id="@+id/frame_container"
                android:layout_width="match_parent"
                android:layout_height="match_parent">
        </FrameLayout>
    </LinearLayout>

и здесь результат:

enter image description here

0 голосов
/ 04 июля 2019

Попробуйте это для вашего макета.У меня это работает.

<com.google.android.material.appbar.AppBarLayout
    android:id="@+id/appBarLayout"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/color3"
    app:layout_constraintTop_toTopOf="parent">

    <androidx.appcompat.widget.Toolbar
        android:id="@+id/toolBar"
        android:layout_width="0dp"
        android:layout_height="56dp"
        android:background="#dc2700"
     />
</com.google.android.material.appbar.AppBarLayout>
...