Проблемы создания нижнего Navbar Android Studio - PullRequest
0 голосов
/ 28 марта 2019

Я несколько дней пытался создать нижнюю панель навигации для своего приложения, но по какой-то причине его просто не видно в режиме конструктора.Не очень помогает тот факт, что не так много учебников, которые используют библиотеку AndroidX

(Извините, если я не использую правильные слова для описания вещей)

Попробовал изменить размер надизайн, настройка зависимостей и повторение попыток много раз.

/// build.gradle file


buildscript {
    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.3.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }


    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
/// Build.gradle(Module:app)


apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.runwithmeapp"
        minSdkVersion 26
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.0-beta01'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
    implementation 'com.google.android.material:material:1.0.0-rc01'
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'
    implementation 'com.github.parse-community.Parse-SDK-Android:fcm:1.19.0'
    implementation 'de.hdodenhof:circleimageview:3.0.0'
    implementation 'com.android.support:design:28.0.0'


}
/// XML for activity


<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@android:color/holo_blue_light"
    tools:context=".BottomNav">


    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:layout_width="match_parent"
        android:layout_height="78dp"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="0dp"

        app:menu="@menu/bottom_navigation" />


</RelativeLayout>
/// XML for my menu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:id="@+id/nav_home"
        android:icon="@drawable/ic_home_black_24dp"
        android:title="Home"/>

    <item
        android:id="@+id/nav_Map"
        android:icon="@drawable/ic_map_black_24dp"
        android:title="Map"/>

    <item
        android:id="@+id/nav_profile"
        android:icon="@drawable/ic_person_black_24dp"
        android:title="Profile"/>


</menu>

В настоящий момент я хочу, чтобы я просто мог правильно увидеть дизайн в нижней части упражнения, но он просто не отображается.

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Попробуйте не указывать фиксированную высоту, вместо этого используйте wrap_content в BottomNavigationView.Также Relativelayout не рекомендуется использовать вместо Constraintlayout.

  <androidx.constraintlayout.widget.ConstraintLayout
    android:id="@+id/main_content"
    android:layout_width="match_parent"
    android:layout_height="match_parent">



    <com.google.android.material.bottomnavigation.BottomNavigationView
        android:id="@+id/bottomNavigationView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:itemBackground="@color/item_background"
        app:itemIconTint="@color/item_tint"
        app:itemTextColor="@color/item_text_color"
        app:labelVisibilityMode="labeled"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:menu="@menu/menu_bottom_nav" />

</androidx.constraintlayout.widget.ConstraintLayout>
0 голосов
/ 28 марта 2019

Я создал нечто очень похожее.В дизайне для меня это не проявляется внизу.Вместо этого он отображается вверху (панель действий).Но когда я компилирую и собираю проект и запускаю его на эмуляторе или устройстве, он отображается в виде нижней панели навигации.

В моем MainActivity.java я загружаю его с этим фрагментом кода:

//show bottom navigation bar
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
BottomNavigationViewHelper.disableShiftMode(navigation);
navigation.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...