Sag*_*ada 4 android bottom-type material-design
我正在使用此链接实现BottomNavigationView 我逐步实现了所有内容,但我的导航视图未在屏幕底部显示.
这就是我所做的.
public class MainActivity extends AppCompatActivity implements ActivityCompat.OnRequestPermissionsResultCallback {
Intent intent = null;
BottomNavigationView navigationView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
navigationView = (BottomNavigationView) findViewById(R.id.navigation);
navigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if(id == R.id.program){
intent = new Intent(MainActivity.this, MainActivity.class);
startActivity(intent);
finish();
}
if(id == R.id.access){
try {
manager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
if (!manager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
Intent myIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(myIntent);
overridePendingTransition(R.anim.push_up_in,
R.anim.push_up_out);
} else {
intent = new Intent(MainActivity.this, Access.class);
startActivity(intent);
finish();
}
} catch (Exception e) {
e.printStackTrace();
}
return true;
}
if(id == R.id.informations){
intent = new Intent(MainActivity.this, Information.class);
startActivity(intent);
finish();
return true;
}
if(id == R.id.contact){
intent = new Intent(MainActivity.this, Contact.class);
startActivity(intent);
finish();
return true;
}
return false;
}
});
}
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu = navigationView.getMenu(); <---- // -->
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
和我的activity.xml
<android.support.design.widget.CoordinatorLayout 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:background="@color/colorWhite">
<android.support.design.widget.BottomNavigationView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:design="http://schema.android.com/apk/res/android.support.design"
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_gravity="bottom"
design:menu="@menu/menu_main" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
我还将gradle版本更新为25,否则它将无法正常工作.
compileSdkVersion 25
buildToolsVersion "24.0.3"
targetSdkVersion 25
compile 'com.android.support:appcompat-v7:25.0.0'
compile 'com.android.support:design:25.0.0'
Run Code Online (Sandbox Code Playgroud)
Joh*_*son 11
它不起作用的原因是因为menu在错误的命名空间(design)中.请改用app命名空间.
<android.support.design.widget.CoordinatorLayout
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:background="@color/colorWhite">
<android.support.design.widget.BottomNavigationView
android:id="@+id/navigation"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_gravity="bottom"
app:menu="@menu/menu_main" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9191 次 |
| 最近记录: |