2017-11-04 13 views
-1

ナビゲーション・ドロワーの2つの異なる項目の間に境界線を追加しようとしています。 私はNaviagation引き出しにMikepenz材料引き出しhttps://github.com/mikepenz/MaterialDrawer)を使用しています。ナビゲーションドロワーのアイテム間に境界線を追加するにはどうすればよいですか?

ここはスクリーンショットです。私は、この行を追加した

screen

:私はちょうど私が「ダウンローダ」と「共有とレート」のような見出しが

がここにスクリーンショットを見てみましょうということたくない、ナビゲーションドロワーでその境界線が欲しいです私の主な活動にダウンローダと他人を区別します。 新しいSectionDrawerItem()withName(R.string.drawer_item_section_header)、ここで

は、ナビゲーションドロワーのための私のJavaコードです:

//Navigation Drawer 
    headerResult = new AccountHeaderBuilder() 
      .withActivity(this) 
      .withHeaderBackground(R.color.colorPrimary) 
      .withSelectionListEnabledForSingleProfile(false) 
      .withAlternativeProfileHeaderSwitching(false) 
      .withCompactStyle(false) 
      .withDividerBelowHeader(false) 
      .withProfileImagesVisible(true) 
      .withTypeface(typeface) 
      .addProfiles(new ProfileDrawerItem().withIcon(R.mipmap.ic_launcher).withName(getResources().getString(R.string.app_name)).withEmail(getResources() 
        .getString(R.string.developer_email))) 
      .build(); 
    resultDrawer = new DrawerBuilder() 
      .withActivity(this) 
      .withSelectedItem(-1) 
      .withFullscreen(true) 
      .withAccountHeader(headerResult) 
      .withActionBarDrawerToggle(true) 
      .withCloseOnClick(true) 
      .withMultiSelect(false) 
      .withTranslucentStatusBar(true) 
      .withToolbar(mToolbar) 
      .addDrawerItems(
        new PrimaryDrawerItem().withSelectable(false).withName(R.string.app_name).withTypeface(typeface), 
        new PrimaryDrawerItem().withSelectable(false).withName("Downloads").withIcon(R.drawable.ic_inst).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          if (placeholderLayout.getVisibility() == View.VISIBLE) { 
           placeholderLayout.setVisibility(View.GONE); 
           recyclerLayout.setVisibility(View.VISIBLE); 
           setUpRecyclerView(); 
          } 
          return false; 
         } 
        }).withTypeface(typeface), 


        new SectionDrawerItem().withName(R.string.drawer_item_section_header), 


        new PrimaryDrawerItem().withSelectable(false).withName("Story Downloader").withIcon(R.drawable.ic_whatshot_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          Intent intent = new Intent(MainActivity.this,SplashActivity.class); 
          startActivity(intent); 
          return false; 
         } 
        }).withTypeface(typeface), 
        new PrimaryDrawerItem().withSelectable(false).withName("WhatsApp Downloader").withIcon(R.drawable.ic_wapp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          Intent intent = new Intent(MainActivity.this,WaActivity.class); 
          startActivity(intent); 
          return false; 
         } 
        }).withTypeface(typeface), 
        new PrimaryDrawerItem().withSelectable(false).withName("Twitter Downloader").withIcon(R.drawable.ic_tweet).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          Intent intent = new Intent(MainActivity.this,TweetActivity.class); 
          startActivity(intent); 
          return false; 
         } 
        }).withTypeface(typeface), 
        new PrimaryDrawerItem().withSelectable(false).withName("Facebook Downloader").withIcon(R.drawable.ic_facebook_logo).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          Intent intent = new Intent(MainActivity.this,FbActivity.class); 
          startActivity(intent); 
          return false; 
         } 
        }).withTypeface(typeface), 

        new SectionDrawerItem().withName(R.string.drawer_item_section_share), 

        new PrimaryDrawerItem().withSelectable(false).withName("Recommend to Friends").withIcon(R.drawable.ic_share_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          final String shareappPackageName = getPackageName(); 
          Intent sendIntent = new Intent(); 
          sendIntent.setAction(Intent.ACTION_SEND); 
          sendIntent.putExtra(Intent.EXTRA_TEXT, "Check out Social Downloader App at: https://play.google.com/store/apps/details?id=" + shareappPackageName); 
          sendIntent.setType("text/plain"); 
          startActivity(sendIntent); 
          return false; 
         } 
        }).withTypeface(typeface), 
        new PrimaryDrawerItem().withSelectable(false).withName("Rate Us").withIcon(R.drawable.ic_thumb_up_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          final String appPackageName = getPackageName(); 
          try { 
           startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); 
          } catch (ActivityNotFoundException anfe) { 
           startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + appPackageName))); 
          } 
          return false; 
         } 
        }).withTypeface(typeface), 



        new PrimaryDrawerItem().withSelectable(false).withName("Help").withIcon(R.drawable.ic_help_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          Intent intent = new Intent(MainActivity.this, IntroActivity.class); 
          startActivity(intent); 
          return false; 
         } 
        }).withTypeface(typeface), 


        new PrimaryDrawerItem().withSelectable(false).withName("Privacy Policy").withIcon(R.drawable.ic_info_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          AlertDialog dialog = new AlertDialog.Builder(MainActivity.this) 
            .setTitle("PRIVACY POLICY") 
            .setMessage(R.string.privacy_message) 
            .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { 
             public void onClick(DialogInterface dialog, int which) { 
              dialog.dismiss(); 
             } 
            }) 
            .setIcon(R.drawable.ic_info_black_24dp) 
            .show(); 
          TextView textView = (TextView) dialog.findViewById(android.R.id.message); 
          textView.setScroller(new Scroller(MainActivity.this)); 
          textView.setVerticalScrollBarEnabled(true); 
          textView.setMovementMethod(new ScrollingMovementMethod()); 
          return false; 
         } 
        }).withTypeface(typeface), 
        new PrimaryDrawerItem().withSelectable(false).withName("Feedback").withIcon(R.drawable.ic_feedback_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          DisplayMetrics displaymetrics = new DisplayMetrics(); 
          getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
          int height = displaymetrics.heightPixels; 
          int width = displaymetrics.widthPixels; 
          PackageManager manager = getApplicationContext().getPackageManager(); 
          PackageInfo info = null; 
          try { 
           info = manager.getPackageInfo(getPackageName(), 0); 
          } catch (PackageManager.NameNotFoundException e) { 
           // TODO Auto-generated catch block 
           e.printStackTrace(); 
          } 
          String version = info.versionName; 
          Intent i = new Intent(Intent.ACTION_SEND); 
          i.setType("message/rfc822"); 
          i.putExtra(Intent.EXTRA_EMAIL, new String[]{getResources().getString(R.string.developer_email)}); 
          i.putExtra(Intent.EXTRA_SUBJECT, getResources().getString(R.string.app_name) + version); 
          i.putExtra(Intent.EXTRA_TEXT, 
            "\n" + " Device :" + getDeviceName() + 
              "\n" + " System Version:" + Build.VERSION.SDK_INT + 
              "\n" + " Display Height :" + height + "px" + 
              "\n" + " Display Width :" + width + "px" + 
              "\n\n" + "Have a problem? Please share it with us and we will do our best to solve it!" + 
              "\n"); 
          startActivity(Intent.createChooser(i, "Send Email")); 
          return false; 
         } 
        }).withTypeface(typeface), 
        new PrimaryDrawerItem().withSelectable(false).withName("Exit").withIcon(R.drawable.ic_exit_to_app_black_24dp).withOnDrawerItemClickListener(new Drawer.OnDrawerItemClickListener() { 
         @Override 
         public boolean onItemClick(View view, int position, IDrawerItem drawerItem) { 
          finish(); 
          return false; 
         } 
        }).withTypeface(typeface) 
      ). 
        withSavedInstance(savedInstanceState) 
      .build(); 
    loadInterstitialAd(); 
} 
+0

ようこそ。上記のスクリーンショットへのリンクを含むように質問を編集し、コードの書式を修正してください。 ...まだ厄介なように見えます。 – yacc

+0

@yaccなぜそれがこのように見えるのかわかりません。私はちょうどコードを貼り付けたことを意味します。それの半分は良く見え、他はちょうどうんざりしています、私は申し訳ありませんが、私はここで新しいです。私はSOを形作ることについて全く知らない。 –

+0

[This](https://github.com/mikepenz/MaterialDrawer/blob/develop/README.md)を読んでください。 – ADM

答えて

0

通常、あなたはあなたのメニューXMLファイルでそれを実行する必要があります。 単に別々のグループ内の各メニュー項目を入れて、各グループがIDを持っている必要があります(各グループは分割器によって分離されている)

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <group 
     android:id="@+id/item1"> 
     <item 
      android:id="@+id/nav_settings" 
      android:icon="@drawable/ic_settings" 
      android:title="Settings"/> 
    </group> 
<group 
     android:id="@+id/item2"> 
     <item 
      android:id="@+id/nav_info" 
      android:icon="@drawable/ic_info" 
      android:title="Info"/> 
    </group> 
</menu> 

更新:

私はあなたが使用した引き出しのギブスをチェックしました。私はそれに慣れていないが、私はこの方法に気づい:

result.addItem(new DividerDrawerItem()); 

多分それは、私はより多くのを助けることができない残念に役立ちますが、あなたはおそらくドキュメンテーションに、彼のソースコードの例では、あなたが必要なすべてを見つけるでしょうし

+0

ありがとう。皆さんはとても役に立ちます。しかし、私はJavaコードからこれを欲しいです。なぜなら私はJavaコードからすべてをやったからです。 –

+0

ああ、私はあなたが使用した引き出しのギブスをチェックしました。私はそれに慣れていないが、私はメソッドに気づいた:result.addItem(new DividerDrawerItem()); –

関連する問題