Android 从操作栏中删除抽屉导航图标
我想从操作栏中删除导航抽屉的默认图标,并将我的徽标移到左角 我的行动栏: 主要活动: 编辑:// 如你所见,我添加了徽标而不是标题Android 从操作栏中删除抽屉导航图标,android,android-actionbar,Android,Android Actionbar,我想从操作栏中删除导航抽屉的默认图标,并将我的徽标移到左角 我的行动栏: 主要活动: 编辑:// 如你所见,我添加了徽标而不是标题 public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { private int REQUEST_CAMERA = 0, SELECT_FILE = 1; pri
public class MainActivity extends AppCompatActivity
implements NavigationView.OnNavigationItemSelectedListener {
private int REQUEST_CAMERA = 0, SELECT_FILE = 1;
private Button btnSelect;
private ImageView ivImage;
private String userChoosenTask;
private SharedPreferences pref, pref2;
private String jsonResult;
public static Boolean isBookmarkSelected = false;
private String url = "http://nwbrn.ayz.pl/Bookmark.php";
private Menu menu;
private MenuItem starMenu;
private MenuItem shareMenu;
private Bookmark bookmark;
private TextView textView;
private TextView textView2;
private TextView textView3;
private TabLayout tabLayout;
private ViewPager viewPager;
private FloatingActionButton floatingActionButton1, floatingActionButton2, floatingActionButton3;
public static FloatingActionMenu materialDesignFAM;
public static boolean fabVisible;
private static final String TAG = MainActivity.class.getSimpleName();
private BroadcastReceiver mRegistrationBroadcastReceiver;
private TextView txtRegId, txtMessage;
private int[] tabIcons = {
R.drawable.ic_tab_one,
R.drawable.ic_tab_two,
R.drawable.ic_tab_profile
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseApp.initializeApp(this);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
// getSupportActionBar().setDisplayUseLogoEnabled(true);
// getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.logo2);
// txtRegId = (TextView) findViewById(R.id.txt_reg_id);
// txtMessage = (TextView) findViewById(R.id.txt_push_message);
pref = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String name = pref.getString(Constants.NAME, "");
String avatar = pref.getString(Constants.AVATAR, "");
textView = (TextView) findViewById(R.id.textView);
textView2 = (TextView) findViewById(R.id.textView2);
textView3 = (TextView) findViewById(R.id.textView3);
textView.setText(pref.getString(Constants.FULLNAME, ""));
textView2.setText("@" + pref.getString(Constants.NAME, ""));
Spannable span = new SpannableString("made with by @Marcin.Brzozowski"); // or set your text manually
Drawable drawable;
drawable = getResources().getDrawable(R.drawable.madewithlove_heart);
drawable.setBounds(8, 8, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
ImageSpan imageSpan = new ImageSpan(drawable);
span.setSpan(imageSpan, 9, 11, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
textView3.setText(span);
FirebaseInstanceId.getInstance().getToken();
mRegistrationBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// checking for type intent filter
if (intent.getAction().equals(Config.REGISTRATION_COMPLETE)) {
// gcm successfully registered
// now subscribe to `global` topic to receive app wide notifications
FirebaseMessaging.getInstance().subscribeToTopic(Config.TOPIC_GLOBAL);
// displayFirebaseRegId();
} else if (intent.getAction().equals(Config.PUSH_NOTIFICATION)) {
// new push notification is received
String message = intent.getStringExtra("message");
Toast.makeText(getApplicationContext(), "Push notification: " + message, Toast.LENGTH_LONG).show();
// txtMessage.setText(message);
}
}
};
// displayFirebaseRegId();
// textView3.setText("Made with love by MB");
// textView3.setGravity(Gravity.CENTER | Gravity.RIGHT);
ivImage = (ImageView) findViewById(R.id.ivImage);
// Picasso.with(getBaseContext()).invalidate(pref.getString(Constants.AVATAR, ""));
Picasso.with(getBaseContext())
.load(Uri.parse(pref.getString(Constants.AVATAR, "")))
.resize(200, 200).centerCrop()
.memoryPolicy(MemoryPolicy.NO_CACHE )
.networkPolicy(NetworkPolicy.NO_CACHE)
.noFade()
.into(ivImage);
final String[] menus = {"Home", "My Groups", "Change Group", "Settings"};
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
final TabsFragment galleryFragment = new TabsFragment();
getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, galleryFragment)
.addToBackStack(null)
.commit();
elevateActionBar(false);
NavigationView navigationView = (NavigationView) findViewById(R.id.navigation);
navigationView.setNavigationItemSelectedListener(this);
//CustomAdapter we created for Customize Navigation
ListView navlist = (ListView) findViewById(R.id.list);
NavPanelListAdapter adapter = new NavPanelListAdapter(this, menus);
navlist.setAdapter(adapter);
navlist.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
String selectedMenu = menus[i];
switch (selectedMenu) {
case "Home":
// TabsFragment groupFragment = new TabsFragment();
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.enter,R.anim.exit,R.anim.pop_enter, R.anim.pop_exit)
.replace(R.id.content_frame, galleryFragment)
.addToBackStack(null)
.commit();
elevateActionBar(false);
break;
case "My Groups":
MyGroupsFragment groupsFragment = new MyGroupsFragment();
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.enter,R.anim.exit,R.anim.pop_enter, R.anim.pop_exit)
.replace(R.id.content_frame, groupsFragment)
.addToBackStack(null)
.commit();
elevateActionBar(true);
break;
case "Change Group":
ChangeGroupFragment changeGroupFragment = new ChangeGroupFragment();
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.enter,R.anim.exit,R.anim.pop_enter, R.anim.pop_exit)
.replace(R.id.content_frame, changeGroupFragment)
.addToBackStack(null)
.commit();
elevateActionBar(true);
break;
case "Settings":
SettingsFragment settingsFragment = new SettingsFragment();
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.enter,R.anim.exit,R.anim.pop_enter, R.anim.pop_exit)
.replace(R.id.content_frame, settingsFragment)
.addToBackStack(null)
.commit();
elevateActionBar(true);
break;
default:
break;
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
}
});
}
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
this.menu = menu;
String email = pref.getString(Constants.EMAIL, "");
System.out.println(email);
String id_group = pref.getString(Constants.ID_GROUP, "");
System.out.println(id_group);
String _nameOfGroup = pref.getString(Constants.NAZWA, "");
System.out.println(_nameOfGroup);
onBookmarkItemSelected(email, id_group, _nameOfGroup);
starMenu = menu.add("Added to Favourites");
shareMenu = menu.add("Share files.");
shareMenu.setIcon(R.drawable.share).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
if(isBookmarkSelected == true) {
starMenu.setIcon(R.drawable.ic_star_black).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
else {
starMenu.setIcon(R.drawable.ic_star_border_black).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
startActivity(new Intent(getBaseContext(), SettingsActivity.class));
}
if (id == R.id.logout) {
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean(Constants.IS_LOGGED_IN,false);
editor.putString(Constants.EMAIL,"");
editor.putString(Constants.NAME,"");
editor.putString(Constants.UNIQUE_ID,"");
editor.putString(Constants.AVATAR, "");
editor.apply();
startActivity(new Intent(getBaseContext(), LoginActivity.class));
}
if(item == shareMenu) {
// ContentValues values = new ContentValues();
// values.put(BluetoothShare.URI, "content://" + uritoSend);
// values.put(BluetoothShare.DESTINATION, deviceAddress);
// values.put(BluetoothShare.DIRECTION, BluetoothShare.DIRECTION_OUTBOUND);
}
if(item == starMenu) {
new IsStarSelected(bookmark, pref.getString(Constants.ID_GROUP, ""));
if (isBookmarkSelected == false) {
starMenu.setIcon(R.drawable.ic_star_black).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
Toast.makeText(getApplicationContext(), "Added to favorites!",
Toast.LENGTH_SHORT).show();
// FirebaseMessaging.getInstance().unsubscribeFromTopic(pref.getString(Constants.ID_GROUP, ""));
} else {
starMenu.setIcon(R.drawable.ic_star_border_black).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
Toast.makeText(getApplicationContext(), "Removed from favorites!",
Toast.LENGTH_SHORT).show();
// FirebaseMessaging.getInstance().subscribeToTopic(pref.getString(Constants.ID_GROUP, ""));
}
}
return super.onOptionsItemSelected(item);
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.groups_nav) {
MyGroupsFragment tabsFragment = new MyGroupsFragment();
getSupportFragmentManager().beginTransaction()
.replace(R.id.content_frame, tabsFragment)
.addToBackStack(null)
.commit();
elevateActionBar(true);
} else if (id == R.id.change_group_nav) {
ChangeGroupFragment changeGroupFragment = new ChangeGroupFragment();
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.enter,R.anim.exit,R.anim.pop_enter, R.anim.pop_exit)
.replace(R.id.content_frame, changeGroupFragment)
.addToBackStack(null)
.commit();
elevateActionBar(true);
} else if (id == R.id.settings_nav) {
SettingsFragment settingsFragment = new SettingsFragment();
getSupportFragmentManager().beginTransaction()
.setCustomAnimations(R.anim.enter, R.anim.exit, R.anim.pop_enter, R.anim.pop_exit)
.replace(R.id.content_frame, settingsFragment)
.addToBackStack(null)
.commit();
elevateActionBar(true);
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
public void onBookmarkItemSelected(String email, String id_group, String _nameOfGroup) {
OkHttpClient.Builder okHttpClient = new OkHttpClient.Builder();
HttpLoggingInterceptor debugger =
new HttpLoggingInterceptor()
.setLevel(HttpLoggingInterceptor.Level.BODY);
okHttpClient
.addInterceptor(debugger);
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(Constants.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(okHttpClient.build())
.build();
RequestInterface requestInterface = retrofit.create(RequestInterface.class);
Integer id_int_group = Integer.parseInt(id_group);
bookmark = new Bookmark(email, id_int_group, _nameOfGroup);
ServerRequest request = new ServerRequest();
request.setOperation(Constants.BOOKMARK_OPERATION);
request.setBookmark(bookmark);
Call<ServerResponse> response = requestInterface.operation(request);
response.enqueue(new Callback<ServerResponse>() {
@Override
public void onResponse(Call<ServerResponse> call, retrofit2.Response<ServerResponse> response) {
ServerResponse resp = response.body();
if (resp.getResult().equals(Constants.SUCCESS))
// Log.d(Constants.TAG, "success");
isBookmarkSelected = true;
else
isBookmarkSelected = false;
if (isBookmarkSelected == true)
starMenu.setIcon(R.drawable.ic_star_black).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
else
starMenu.setIcon(R.drawable.ic_star_border_black).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
@Override
public void onFailure(Call<ServerResponse> call, Throwable t) {
// progress.setVisibility(View.INVISIBLE);
Log.d(Constants.TAG, "failed", t);
// Snackbar.make(getView(), t.getLocalizedMessage(), Snackbar.LENGTH_LONG).show();
}
});
}
private void elevateActionBar(boolean elevate){
//Elevate ActionBar (make ActionBar have a shadow)
AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.appBar);
if(elevate) {
appBarLayout.setElevation(7);
} else{
appBarLayout.setElevation(0);
}
}
@Override
protected void onResume() {
super.onResume();
// register GCM registration complete receiver
LocalBroadcastManager.getInstance(this).registerReceiver(mRegistrationBroadcastReceiver,
new IntentFilter(Config.REGISTRATION_COMPLETE));
// register new push message receiver
// by doing this, the activity will be notified each time a new message arrives
LocalBroadcastManager.getInstance(this).registerReceiver(mRegistrationBroadcastReceiver,
new IntentFilter(Config.PUSH_NOTIFICATION));
// clear the notification area when the app is opened
NotificationUtils.clearNotifications(getApplicationContext());
}
@Override
protected void onPause() {
LocalBroadcastManager.getInstance(this).unregisterReceiver(mRegistrationBroadcastReceiver);
super.onPause();
}
public类MainActivity扩展了AppCompatActivity
实现NavigationView.OnNavigationItemSelectedListener{
私有int请求\u摄像机=0,选择\u文件=1;
私人按钮b选择;
私有图像视图ivImage;
私有字符串userChoosenTask;
私有共享参考优先,优先2;
私有字符串jsonResult;
公共静态布尔值isBookmarkSelected=false;
专用字符串url=”http://nwbrn.ayz.pl/Bookmark.php";
私人菜单;
private MenuItem starMenu;
私有菜单项共享菜单;
私人书签;
私有文本视图文本视图;
私有文本视图文本视图2;
私有文本视图文本视图3;
私人摊位摊位;
私人视页机视页机;
私有浮动操作按钮浮动操作按钮1、浮动操作按钮2、浮动操作按钮3;
公共静态浮动操作菜单材料设计FAM;
公共静态布尔值是可见的;
私有静态最终字符串标记=MainActivity.class.getSimpleName();
专用广播接收机注册广播接收机;
私有文本视图txtRegId,txtMessage;
私有int[]选项卡图标={
R.drawable.ic_tab_one,
R.drawable.ic_表2,
R.drawable.ic\U选项卡\U配置文件
};
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FirebaseApp.initializeApp(本);
Toolbar Toolbar=(Toolbar)findViewById(R.id.Toolbar);
设置支持操作栏(工具栏);
getSupportActionBar().setDisplayShowTitleEnabled(false);
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
//getSupportActionBar().setDisplayUseLogoEnabled(true);
//getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setIcon(R.drawable.logo2);
//txtRegId=(TextView)findViewById(R.id.txt\u reg\u id);
//txtMessage=(TextView)findViewById(R.id.txt\u push\u message);
pref=PreferenceManager.GetDefaultSharedReferences(getBaseContext());
字符串名称=pref.getString(Constants.name,“”);
字符串avatar=pref.getString(Constants.avatar,“”);
textView=(textView)findViewById(R.id.textView);
textView2=(TextView)findViewById(R.id.textView2);
textView3=(TextView)findViewById(R.id.textView3);
textView.setText(pref.getString(Constants.FULLNAME,”);
textView2.setText(“@”+pref.getString(Constants.NAME)”);
Spannable span=new SpannableString(“由@Marcin.brzowski制作”);//或手动设置文本
可拉伸;
drawable=getResources().getDrawable(R.drawable.madewithlove_heart);
setBounds(8,8,drawable.getIntrinsicWidth(),drawable.getIntrinsicHeight());
ImageSpan ImageSpan=新的ImageSpan(可绘制);
span.设置span(图像span、9、11、可设置span.包括span.\u排除);
textView3.setText(span);
FirebaseInstanceId.getInstance().getToken();
mrRegistrationBroadcastReceiver=新的BroadcastReceiver(){
@凌驾
公共void onReceive(上下文、意图){
//检查类型意图筛选器
if(intent.getAction().equals(Config.REGISTRATION_COMPLETE)){
//gcm已成功注册
//现在订阅“全局”主题以接收应用程序范围的通知
FirebaseMessaging.getInstance().subscribeToTopic(Config.TOPIC\u GLOBAL);
//displayFirebaseRegId();
}else if(intent.getAction().equals(Config.PUSH_通知)){
//收到新的推送通知
字符串消息=intent.getStringExtra(“消息”);
Toast.makeText(getApplicationContext(),“推送通知:”+消息,Toast.LENGTH\u LONG.show();
//txtMessage.setText(消息);
}
}
};
//displayFirebaseRegId();
//textView3.setText(“由MB制造的爱”);
//textView3.setGravity(Gravity.CENTER | Gravity.RIGHT);
ivImage=(ImageView)findViewById(R.id.ivImage);
//Picasso.with(getBaseContext()).invalidate(pref.getString(Constants.AVATAR)”);
Picasso.with(getBaseContext())
.load(Uri.parse(pref.getString(Constants.AVATAR,“”))
.调整大小(200200).中心裁剪()
.memoryPolicy(memoryPolicy.NO_缓存)
.networkPolicy(networkPolicy.NO\u缓存)
.noFade()
.进入(ivImage);
最终字符串[]菜单={“主页”、“我的组”、“更改组”、“设置”};
抽屉布局抽屉=(抽屉布局)findViewById(R.id.抽屉布局);
ActionBarDrawerToggle切换=新建ActionBarDrawerToggle(
这,抽屉,工具栏,R.string.navigation\u drawer\u open,R.string.navigation\u drawer\u close);
抽屉。设置抽屉定位器(开关);
toggle.syncState();
final TabsFragment galleryFragment=新TabsFragment();
getSupportFragmentManager().beginTransaction()
.更换(R.id.content_框架,galleryFragment)
.addToBackStack(空)
.commit();
升降杆(假);
NavigationView NavigationView=(NavigationView)findViewById(R.id.navigation);
navigationView.setNavigationItemSelectedListener(此);
//我们为自定义导航创建的CustomAdapter
ListView导航列表=(ListView)findViewById(R.id.list);
NavPanelListAdapter=新导航
ActionBarToggle toggle = new ActionBarToggle(....);
private ActionBarDrawerToggle setupDrawerToggle() {
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, mDrawer, toolbar, R.string.drawer_open, R.string.drawer_close);
return toggle;
}
// drawer hamburger icons
drawerToggle = setupDrawerToggle();
// to disable hamburger icon
drawerToggle.setDrawerIndicatorEnabled(false);
// Tie DrawerLayout events to the ActionBarToggle
mDrawer.addDrawerListener(drawerToggle);
// Setup drawer view
setupDrawerContent(nvDrawer);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.setDrawerListener(toggle);
toggle.syncState();
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(false);
toggle.setDrawerIndicatorEnabled(false);
toggle.setHomeAsUpIndicator(null); //or you can add icon
toggle.setHomeAsUpIndicator(R.id.icon);//add this for custom icon
getActionBar().setDisplayHomeAsUpEnabled(false);
private fun disableDrawer() {
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
val toolbar: Toolbar = findViewById(R.id.toolbar)
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
toolbar.navigationIcon = null
}
private fun enableDrawer() {
val drawerLayout: DrawerLayout = findViewById(R.id.drawer_layout)
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
val navController = findNavController(R.id.nav_host_fragment)
setupActionBarWithNavController(navController, appBarConfiguration)
}