2016-07-19 103 views
0

我是一個開發人員在android開發中,所以請幫助我做到這一點 我想爲navgation抽屜中的項目添加圖標。從這個網頁http://www.androidhive.info/2015/04/android-getting-started-with-material-design/如何將圖標添加到導航抽屜中的列表項目

這裏 IAM下面的教程是NavDrawerItem.java:

package info.androidhive.materialdesign.model; 

/** 
* Created by Ravi on 29/07/15. 
*/ 
public class NavDrawerItem { 
    private boolean showNotify; 
    private String title; 


    public NavDrawerItem() { 

    } 

    public NavDrawerItem(boolean showNotify, String title) { 
     this.showNotify = showNotify; 
     this.title = title; 
    } 

    public boolean isShowNotify() { 
     return showNotify; 
    } 

    public void setShowNotify(boolean showNotify) { 
     this.showNotify = showNotify; 
    } 

    public String getTitle() { 
     return title; 
    } 

    public void setTitle(String title) { 
     this.title = title; 
    } 
} 

這裏是nav_drawer_row.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:clickable="true"> 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:paddingLeft="30dp" 
     android:paddingTop="10dp" 
     android:paddingBottom="10dp" 
     android:textSize="15dp" 
     android:textStyle="bold" /> 

</RelativeLayout> 

這裏是srings.xml

strings.xml 
<resources> 
    <string name="app_name">Material Design</string> 
    <string name="action_settings">Settings</string> 
    <string name="action_search">Search</string> 
    <string name="drawer_open">Open</string> 
    <string name="drawer_close">Close</string> 

    <string name="nav_item_home">Home</string> 
    <string name="nav_item_friends">Friends</string> 
    <string name="nav_item_notifications">Messages</string> 

    <!-- navigation drawer item labels --> 
    <string-array name="nav_drawer_labels"> 
     <item>@string/nav_item_home</item> 
     <item>@string/nav_item_friends</item> 
     <item>@string/nav_item_notifications</item> 
    </string-array> 

    <string name="title_messages">Messages</string> 
    <string name="title_friends">Friends</string> 
    <string name="title_home">Home</string> 
</resources> 

這裏是導航抽屜adapter.java:

import android.content.Context; 
import android.support.v7.widget.RecyclerView; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.TextView; 

import java.util.Collections; 
import java.util.List; 

/** 
* Created by Ravi Tamada on 12-03-2015. 
*/ 
public class NavigationDrawerAdapter extends RecyclerView.Adapter<NavigationDrawerAdapter.MyViewHolder> { 
    List<NavDrawerItem> data = Collections.emptyList(); 
    private LayoutInflater inflater; 
    private Context context; 

    public NavigationDrawerAdapter(Context context, List<NavDrawerItem> data) { 
     this.context = context; 
     inflater = LayoutInflater.from(context); 
     this.data = data; 
    } 

    public void delete(int position) { 
     data.remove(position); 
     notifyItemRemoved(position); 
    } 

    @Override 
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { 
     View view = inflater.inflate(R.layout.nav_drawer_row, parent, false); 
     MyViewHolder holder = new MyViewHolder(view); 
     return holder; 
    } 

    @Override 
    public void onBindViewHolder(MyViewHolder holder, int position) { 
     NavDrawerItem current = data.get(position); 
     holder.title.setText(current.getTitle()); 
    } 

    @Override 
    public int getItemCount() { 
     return data.size(); 
    } 

    class MyViewHolder extends RecyclerView.ViewHolder { 
     TextView title; 

     public MyViewHolder(View itemView) { 
      super(itemView); 
      title = (TextView) itemView.findViewById(R.id.title); 
     } 
    } 
} 

回答

0

如果圖標沒有執行任務,只需設置drawableLeft爲XML中的每個項目和圖像將被添加本身。要提供一些填充,請在xml本身中使用drawablePadding屬性。

相關問題