下面列出了怎么用android.support.v4.view.GravityCompat的API类实例代码及写法,或者点击链接到github查看源代码。
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
//shield.addSensor(Sensors.startAcc(getApplicationContext()));
} else if (id == R.id.nav_gallery) {
//shield.addSensor(Sensors.startLight(getApplicationContext()));
} else if (id == R.id.nav_slideshow) {
} else if (id == R.id.nav_manage) {
} else if (id == R.id.nav_share) {
} else if (id == R.id.nav_send) {
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
/**
* Set a simple drawable used for the left or right shadow.
* The drawable provided must have a nonzero intrinsic width.
*
* @param shadowDrawable Shadow drawable to use at the edge of a drawer
* @param gravity Which drawer the shadow should apply to
*/
public void setDrawerShadow(Drawable shadowDrawable, int gravity) {
/*
* TODO Someone someday might want to set more complex drawables here.
* They're probably nuts, but we might want to consider registering callbacks,
* setting states, etc. properly.
*/
final int absGravity = GravityCompat.getAbsoluteGravity(gravity,
ViewCompat.getLayoutDirection(this));
if ((absGravity & Gravity.LEFT) == Gravity.LEFT) {
mShadowLeft = shadowDrawable;
invalidate();
}
if ((absGravity & Gravity.RIGHT) == Gravity.RIGHT) {
mShadowRight = shadowDrawable;
invalidate();
}
}
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.nav_change_map) {
changeMap(item);
mDrawer.closeDrawer(GravityCompat.START);
} else if (id == R.id.nav_ranging) {
changeModeRanging(!item.isChecked());
mDrawer.closeDrawer(GravityCompat.START);
} else if (id == R.id.nav_offline_map) {
openActivity(OfflineMapActivity.class);
} else if (id == R.id.nav_about) {
openActivity(AboutActivity.class);
} else if (id == R.id.nav_favorite) {
Intent intent = new Intent(MainActivity.this, FavoriteActivity.class);
startActivityForResult(intent, REQUEST_SEARCH);
} else if (id == R.id.nav_setting) {
openActivity(SettingActivity.class);
}
return true;
}
@Override
public boolean onNavigationItemSelected(MenuItem item) {
mDrawerLayout.closeDrawer(GravityCompat.START);
Fragment fragment = null;
final FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
switch (item.getItemId()) {
case R.id.home:
fragment = new HomeFragment();
break;
case R.id.menus:
fragment = new MenusFragment();
break;
case R.id.progress:
fragment = new ProgressFragment();
break;
}
ft.replace(R.id.fragment, fragment).commit();
return true;
}
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.receive) {
initReceive();
} else if (id == R.id.transmit) {
initTransmit();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
@Test
public void onNavigationItemSelected_shouldSelectFavourite() {
setupActivity();
MenuItem item = clickMenuItem(R.id.nav_favourite);
assertEquals("wrong title", labelDrawerMenuFavourite, item.getTitle());
assertEquals("invalid menu order", MENU_FAVOURITE, item.getOrder());
assertEquals("wrong title", labelApplicationName, activity.getSupportActionBar().getTitle());
assertFalse("should be hidden", activity.floatingActionButtonMain.isShown());
Fragment currentFragment = activity.getSupportFragmentManager().findFragmentById(R.id.content_frame);
assertNotNull("null fragment", currentFragment);
assertThat("invalid fragment", currentFragment, instanceOf(DeviceListFragment.class));
int argumentEnvironment = currentFragment.getArguments().getInt(ARG_ENVIRONMENT);
assertEquals("invalid fragment", MENU_FAVOURITE, argumentEnvironment);
assertFalse("should be close", activity.drawerLayout.isDrawerOpen(GravityCompat.START));
}
@Override
public void onBackPressedSupport() {
if (mDrawer.isDrawerOpen(GravityCompat.START)) {
closeDrawer();
} else {
ISupportFragment topFragment = getTopFragment();
if (!(topFragment instanceof NavHomeFragment)) {
mNav.setCheckedItem(R.id.nav_home);
}
if (getSupportFragmentManager().getBackStackEntryCount() > 1) {
pop();
} else {
// 放置后台
// moveTaskToBack(false);
// 2秒内两次点击返回键退出应用
long nowTime = System.currentTimeMillis();
if (nowTime - mPreTime > 2000) {
ArmsUtils.makeText(this, ArmsUtils.getString(this, R.string.double_click_to_exit));
mPreTime = nowTime;
} else {
ArmsUtils.exitApp();
}
}
}
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
// Handle the camera action
} else if (id == R.id.nav_gallery) {
} else if (id == R.id.nav_slideshow) {
} else if (id == R.id.nav_manage) {
} else if (id == R.id.nav_share) {
} else if (id == R.id.nav_send) {
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
// if (id == R.id.nav_camera) {
// // Handle the camera action
// } else if (id == R.id.nav_gallery) {
//
// } else if (id == R.id.nav_slideshow) {
//
// } else if (id == R.id.nav_manage) {
//
// } else if (id == R.id.nav_share) {
//
// } else if (id == R.id.nav_send) {
//
// }
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_toogle:
Intent intent = new Intent(ActivityTelegram.this, ActivityWhatsApp.class);
ActivityTelegram.this.startActivity(intent);
ActivityTelegram.this.finish();
break;
case android.R.id.home:
if (this.mDrawerLayout.isDrawerOpen(GravityCompat.START)) {
this.mDrawerLayout.closeDrawer(GravityCompat.START);
} else {
this.mDrawerLayout.openDrawer(GravityCompat.START);
}
break;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
mDrawerLayout.openDrawer(GravityCompat.START);
return true;
case R.id.menu_night_mode_system:
setNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
break;
case R.id.menu_night_mode_day:
setNightMode(AppCompatDelegate.MODE_NIGHT_NO);
break;
case R.id.menu_night_mode_night:
setNightMode(AppCompatDelegate.MODE_NIGHT_YES);
break;
case R.id.menu_night_mode_auto:
setNightMode(AppCompatDelegate.MODE_NIGHT_AUTO);
break;
}
return super.onOptionsItemSelected(item);
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
Fragment fragment;
if (id == R.id.nav_settings) {
fragment = new SettingsFragment();
} else if (id == R.id.nav_track) {
fragment = new TrackFragment();
} else {
// Anything else is home
fragment = new LearnFragment();
}
// Insert the fragment by replacing any existing fragment
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content, fragment)
.commit();
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
Category category = CategoryHelper.getInstance(getApplicationContext())
.getCategoryByName(String.valueOf(item.getTitle()));
loadAccountByCategory(category);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (headerImageView != null)
Picasso.with(this).load(ResUtil.getInstance(null).getBmpUri(category.getIcon()))
.config(Bitmap.Config.RGB_565)
.fit()
.into(headerImageView);
if (headerTextView != null)
headerTextView.setText(category.getName());
drawer.closeDrawer(GravityCompat.START);
if (lastChecked != null)
lastChecked.setChecked(false);
item.setChecked(true);
lastChecked = item;
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
Intent intent = new Intent(MainActivity.this,FileAcitvity.class);
startActivity(intent);
return true;
}
if (id==android.R.id.home) {
drawerLayout.openDrawer(GravityCompat.START);
}
return super.onOptionsItemSelected(item);
}
@Override public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
switch (id) {
case android.R.id.home:
drawerLayout.openDrawer(GravityCompat.START);
return true;
case R.id.action_abandon:
new AlertDialog.Builder(this)
.setMessage(R.string.abandon_confirmation)
.setTitle(R.string.are_you_sure)
.setPositiveButton(R.string.yes, (d, w) -> abandon(d))
.setNegativeButton(R.string.no, (d, w) -> d.dismiss())
.create()
.show();
return true;
}
return super.onOptionsItemSelected(item);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
if (drawer.isDrawerOpen(GravityCompat.END)) {
drawerPager.setCurrentItem(0);
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED, GravityCompat.END);
drawer.closeDrawer(GravityCompat.END);
} else if (drawer.isDrawerOpen(GravityCompat.START))
drawer.closeDrawer(GravityCompat.START);
else
drawer.openDrawer(GravityCompat.START);
break;
}
return true;
}
/**
* 处理toolbar中各个按钮的点击事件
*
* @param item
* @return
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home://HomeAsUp按钮id永远是home
drawerLayout.openDrawer(GravityCompat.START);//将滑动菜单显示,GravityCompat.START和xml定义的一致
break;
case R.id.scanner://扫一扫
if (!Util.checkNetwork(this)) {
break;
}
Intent intent = new Intent(Activity_Main.this, CaptureActivity.class);
startActivityForResult(intent, REQUEST_CODE_SCAN);
break;
default:
break;
}
return true;
}
@Override
public void onBackPressed() {
if(drawer.isDrawerOpen(GravityCompat.START)){
drawer.closeDrawers();
}
if(mCurrentFragment instanceof BookshelfFragment){
switchFragment(mCurrentFragment, HomeFragment.newInstance());
mNavigationView.getMenu().findItem(R.id.nav_home).setChecked(true);
return;
}
if(mCurrentFragment instanceof BookshelfProgressFragment){
switchFragment(mCurrentFragment, BookshelfFragment.newInstance());
mNavigationView.getMenu().findItem(R.id.nav_bookshelf).setChecked(true);
return;
}
if((System.currentTimeMillis() - lastTime) > EXIT_APP_DELAY){
lastTime = System.currentTimeMillis();
Snackbar.make(drawer, getString(R.string.press_twice_exit), Snackbar.LENGTH_SHORT)
.setAction(R.string.exit_directly, new View.OnClickListener() {
@Override
public void onClick(View v) {
MainActivity.super.onBackPressed();
}
})
.show();
}else{
moveTaskToBack(true);
}
}
@Override
public void onClickInOneClick(View v, int which) {
switch (which) {
case R.id.menu_item_drawer:
mRootDrawer.openDrawer(GravityCompat.START, true);
break;
case R.id.menu_item_toolbar:
animateToolBar(true);
// animateToolBar(false);
break;
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
drawer_layout.openDrawer(GravityCompat.START);
return true;
}
return super.onOptionsItemSelected(item);
}
public boolean onKeyUp(int keyCode, KeyEvent event) {
View settings_layout = findViewById(R.id.settings_layout);
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
if (mDrawer.isDrawerOpen(settings_layout)) {
mDrawer.closeDrawers();
} else {
mDrawer.openDrawer(GravityCompat.START, true);
}
return true;
case KeyEvent.KEYCODE_BACK:
if (mDrawer.isDrawerOpen(settings_layout)) {
if (((PreferencesFragment) getPreferencesFragment()).is_main_menu())
mDrawer.closeDrawer(GravityCompat.START, true);
else ((PreferencesFragment) getPreferencesFragment()).show_main_menu();
} else {
if (doubleBackToExitPressedOnce) {
finish();
return true;
}
doubleBackToExitPressedOnce = true;
showSnackBar(R.string.back_to_exit);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce = false;
}
}, 2000);
}
return true;
default:
return super.onKeyDown(keyCode, event);
}
}
@Override
public void onBackPressed()
{
if (mDrawerLayout.isDrawerOpen(GravityCompat.START))
{
mDrawerLayout.closeDrawer(GravityCompat.START);
}
else
{
super.onBackPressed();
}
}
@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 View getView(final int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = null;
if (convertView == null) {
convertView = LayoutInflater.from(fa).inflate(R.layout.menucontrol_item, null);
viewHolder = new ViewHolder();
viewHolder.menuItemName = (TextView) convertView.findViewById(R.id.menu_name);
viewHolder.menuIcon = (ImageView)convertView.findViewById(R.id.menu_icon);
convertView.setTag(viewHolder);
}
viewHolder = (ViewHolder) convertView.getTag();
viewHolder.menuItemName.setText(menuItemList.get(position).getMenuItemName());
viewHolder.menuIcon.setImageResource(menuItemList.get(position).getMenuItemIcon());
if (selectedPosition == position) {
Fragment fragment = MenuBaseUtils.getFragmentByName(fa,"com.keen.ma.fragment", position);
FragmentTransaction ft = fa.getSupportFragmentManager().beginTransaction();
Bundle args = new Bundle();
args.putString("title", menuItemList.get(position).getMenuItemName());
fragment.setArguments(args);
HomeActivity.setTitle(menuItemList.get(position).getMenuItemName());
ft.setCustomAnimations(R.anim.push_left_in, R.anim.push_left_out);
ft.replace(R.id.content_frame, fragment).commit();
menuLayout.closeDrawer(GravityCompat.START);
convertView.setBackgroundColor(fa.getResources().getColor(R.color.trans_light_green));
} else {
convertView.setBackgroundColor(Color.TRANSPARENT);
}
return convertView;
}
@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 void onBackPressed() {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(GravityCompat.START);
} else if (drawerLayout.isDrawerOpen(GravityCompat.END)) { /*Closes the Appropriate Drawer*/
drawerLayout.closeDrawer(GravityCompat.END);
} else {
super.onBackPressed();
this.finish();
}
}
@Override public boolean onNavigationItemSelected(MenuItem item) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
switch (item.getItemId()) {
case R.id.nav_mail:
fragmentTransaction.replace(R.id.tab_content_container, new CreateMailFragment());
fragmentTransaction.commit();
setTitle(item.getTitle());
break;
case R.id.nav_review:
fragmentTransaction.replace(R.id.tab_content_container, new ReviewAppealFragment());
fragmentTransaction.commit();
setTitle(item.getTitle());
break;
case R.id.nav_premium:
fragmentTransaction.replace(R.id.tab_content_container, new PremiumAppealFragment());
fragmentTransaction.commit();
setTitle(item.getTitle());
break;
case R.id.nav_profile:
fragmentTransaction.replace(R.id.tab_content_container, new ProfileTutorialFragment());
fragmentTransaction.commit();
setTitle(item.getTitle());
break;
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.nav_camera) {
Toast.makeText(getApplicationContext(), getString(R.string.camera_text_value), Toast.LENGTH_SHORT).show();
} else if (id == R.id.nav_gallery) {
Toast.makeText(getApplicationContext(), getString(R.string.gallery_text_value), Toast.LENGTH_SHORT).show();
} else if (id == R.id.nav_slideshow) {
Toast.makeText(getApplicationContext(), getString(R.string.slideshow_text), Toast.LENGTH_SHORT).show();
} else if (id == R.id.nav_manage) {
Toast.makeText(getApplicationContext(), getString(R.string.tools_text), Toast.LENGTH_SHORT).show();
} else if (id == R.id.nav_share) {
Toast.makeText(getApplicationContext(), getString(R.string.share_text), Toast.LENGTH_SHORT).show();
} else if (id == R.id.nav_send) {
Toast.makeText(getApplicationContext(), getString(R.string.send_text), Toast.LENGTH_SHORT).show();
}
DrawerLayout drawer = findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == home) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragmentcontainer, new HomeView()).commit();
} else if (id == R.id.userprofile) {
startActivity(new Intent(getApplicationContext(), ProfileActivity.class));
}
else if (id == R.id.user_achiev) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragmentcontainer, new AchievmentsView()).commit();
}
else if (id == R.id.logout) {
mAuth.signOut();
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
startActivity(intent);
}
else if (id == R.id.blood_storage){
getSupportFragmentManager().beginTransaction().replace(R.id.fragmentcontainer, new SearchDonorFragment()).commit();
} else if (id == R.id.nearby_hospital) {
getSupportFragmentManager().beginTransaction().replace(R.id.fragmentcontainer, new NearByHospitalActivity()).commit();
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_right_navigation:
vDrawerLayout.openDrawer(GravityCompat.END);
return true;
}
return super.onOptionsItemSelected(item);
}