How to set Navigation Drawer icons to the right side of the Item Texts?

后端 未结 4 769
旧时难觅i
旧时难觅i 2021-01-24 05:33

My Project Screenshot: My Project

My Target Design: My Target

I have created a (right to left) navigation drawer. It\'s working fine but when I\'m trying to move

相关标签:
4条回答
  • 2021-01-24 06:00

    I am not sure if ActionBar provide such feature . But you can do it by just using a menu item . Create a Menu on extreme right:

     <item
        android:id="@+id/menu_action_Drawer"
        android:layout_width="wrap_content"
        app:actionLayout="@layout/item_menu_drawer"
        android:title=""
        app:showAsAction="always"/>
    

    Then OnmenuItem click Open/Close the Drawer:-

     @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.menu_action_Drawer:
                if (drawerLayout.isDrawerOpen(GravityCompat.END)) {
                    drawerLayout.closeDrawer(GravityCompat.END);
                } else {
                    drawerLayout.openDrawer(GravityCompat.END);
                }
                break;
        }
    }
    
    0 讨论(0)
  • 2021-01-24 06:05

    use this open your Navigation drawer right side if your target API is 17+

    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
          getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
      }
    

    Try this Create a new Layout like below

     <TextView
           xmlns:android="http://schemas.android.com/apk/res/android"
           android:id="@+id/tv_badge"
           android:layout_width="wrap_content"
           android:drawableRight="@mipmap/ic_launcher_round"
           android:layout_height="wrap_content" />
    

    than set Custom view to Your navigation view using below code

     YourNavigationView.getMenu().getItem(0).setActionView(R.layout.custom_layout);
    

    setActionView(int resId)

    Set an action view for this menu item.

    EDIT

    try this to modify your single navigation menu item

    TextView  textView = (TextView) LayoutInflater.from(this).inflate(R.layout.custom_tab, null);
    textView.setText("ONE");
    textView.setCompoundDrawablesWithIntrinsicBounds(0, R.drawable.ic_tab_favourite, 0, 0);
    textView.setTextColor(ContextCompat.getColor(this,R.color.colorPrimary));
    navigationView.getMenu().getItem(0).setActionView(textView);
    
    0 讨论(0)
  • 2021-01-24 06:11

    Need to change following in your code.

    @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1) //call this before super.onCreate
    private void forceRtlIfSupported() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
        }
    }
    

    In

    AndroidManifiest.xml

    android:supportsRtl="true"
    

    NOTE : This will work from API 16 and above version.

    0 讨论(0)
  • 2021-01-24 06:17

    Add to your Activity before setContentView(R.layout.main_activity);:

     if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            getWindow().getDecorView().setLayoutDirection(View.LAYOUT_DIRECTION_RTL);
        }
    

    This is only possible on API 17+

    0 讨论(0)
提交回复
热议问题