2017-05-17 96 views
1

我想將應用程序欄添加到具有底部導航欄的應用程序。我跟着Android開發者的幫助,這裏是我在我的活動提出:將應用程序欄添加到底部導航活動

public class BetsActivity extends AppCompatActivity { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_bets); 
    BottomNavigationView bottomNavigationView = (BottomNavigationView) 
      findViewById(R.id.navigation); 

    bottomNavigationView.setOnNavigationItemSelectedListener 
      (new BottomNavigationView.OnNavigationItemSelectedListener() { 
       @Override 
       public boolean onNavigationItemSelected(@NonNull MenuItem item) { 
        Fragment selectedFragment = null; 
        switch (item.getItemId()) { 
         case R.id.navigation_p1: 
          selectedFragment = p1.newInstance(); 
          Toolbar myToolbar = (Toolbar) findViewById(R.id.my_toolbar); 
          setSupportActionBar(myToolbar); 
          break; 
         case R.id.navigation_p2: 
          selectedFragment = p2.newInstance(); 
          myToolbar = (Toolbar) findViewById(R.id.my_toolbar); 
          setSupportActionBar(myToolbar); 
          break; 
        } 
        FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
        transaction.replace(R.id.frame_layout, selectedFragment); 
        transaction.commit(); 
        return true; 
       } 
      }); 

    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
    transaction.replace(R.id.frame_layout, p1.newInstance()); 
    transaction.commit(); 
} 

活動的佈局:

<RelativeLayout 
    android:id="@+id/activity_main" 
    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:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="com.example.carbet.BetsActivity"> 

    <FrameLayout 
     android:id="@+id/frame_layout" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_above="@+id/navigation" 
     android:animateLayoutChanges="true"> 

    </FrameLayout> 

    <android.support.design.widget.BottomNavigationView 
     android:id="@+id/navigation" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:background="@color/colorPrimary" 
     app:itemTextColor="@android:color/white" 
     app:itemIconTint="@android:color/white" 
     app:menu="@menu/navigation" /> 


    <android.support.v7.widget.Toolbar 
     android:id="@+id/my_toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     android:elevation="4dp" 
     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 

</RelativeLayout> 

這裏是我的應用程序清單:

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/logo_car_bet" 
    android:label="@string/app_name" 
    android:roundIcon="@mipmap/logo_car_bet" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme.NoActionBar"> 

    <meta-data 
     android:name="com.google.firebase.messaging.default_notification_icon" 
     android:resource="@mipmap/logo_car_bet" /> 

    <meta-data 
     android:name="com.google.firebase.messaging.default_notification_color" 
     android:resource="@color/colorAccent" /> 

    <activity 
     android:name=".MainActivity" 
     android:label="Car Bet" 
     android:theme="@style/AppTheme.NoActionBar"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".BetsActivity" 
     android:label="@string/title_activity_bets" 
     android:parentActivityName=".MainActivity"/> 

     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".MainActivity" /> 

</application> 

我用片段對於底部導航欄,但我沒有在他們的文件中做任何事情。 當我啓動它時,首先會顯示一個綠色欄,但沒有任何標題或溢出菜單。當我去到另一個片段時,標題出現,但不是菜單。 請告訴我我犯了哪些錯誤。

回答

0

在XML 並在Java代碼中添加工具列的AppBarLayout,後setContentView

Toolbar toolbar=findViewById(R.id.your_toolbar_id) 
setSupportActionBar(toolbar);  

添加這,然後虛增您的菜單。

相關問題