2016-04-15 126 views
2
public class DrawerAdapter extends BaseAdapter { 

private List<DrawerItemModel> mDrawerItems; 
private LayoutInflater mInflater; 

public DrawerAdapter(Context context) { 
    mInflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    mDrawerItems = getTravelDummyList(); 
} 

@Override 
public int getCount() { 
    return mDrawerItems.size(); 
} 

@Override 
public Object getItem(int position) { 
    return mDrawerItems.get(position); 
} 

@Override 
public long getItemId(int position) { 
    return mDrawerItems.get(position).getId(); 
} 

@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    final ViewHolder holder; 
    if (convertView == null) { 
     convertView = mInflater.inflate(
       R.layout.list_view_item_navigation_drawer_travel, parent, 
       false); 
     holder = new ViewHolder(); 
     holder.dividerTop = (View) convertView 
       .findViewById(R.id.divider_top); 
     holder.icon = (TextView) convertView.findViewById(R.id.icon); 
     holder.title = (TextView) convertView.findViewById(R.id.title); 
     holder.dividerBottom = (View) convertView.findViewById(R.id.divider_bottom); 
     convertView.setTag(holder); 
    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 

    DrawerItemModel item = mDrawerItems.get(position); 

    holder.icon.setText(item.getIconRes()); 
    holder.title.setText(item.getText()); 

    if (position != 0) 
     holder.dividerTop.setVisibility(View.GONE); 
    return convertView; 
} 
public static ArrayList<DrawerItemModel> getTravelDummyList() { 
    ArrayList<DrawerItemModel> list = new ArrayList<>(); 
    list.add(new DrawerItemModel(0,0, "Monuments", R.string.app_name)); 
    list.add(new DrawerItemModel(1,00, "Hotels", R.string.material_icon_sleep)); 
    list.add(new DrawerItemModel(2, 1, "Restaurants", R.string.material_icon_eat)); 
    list.add(new DrawerItemModel(3, 2, "Sport et Loisirs", R.string.material_icon_play)); 
    list.add(new DrawerItemModel(4, 3, "Shopping", R.string.material_icon_shop)); 
    list.add(new DrawerItemModel(5, 4, "Méteo", R.string.material_icon_star)); 
    list.add(new DrawerItemModel(6, 5, "Notes", R.string.material_icon_message)); 
    list.add(new DrawerItemModel(6, 5, "Photos et Videos", R.string.material_icon_video)); 
    list.add(new DrawerItemModel(7, 6, "Circuit Touristique", R.string.fontello_search)); 
    list.add(new DrawerItemModel(7, 6, "Recherche", R.string.material_icon_image_box)); 
    return list; 
} 

private static class ViewHolder { 
    public TextView icon; 
    public/* Roboto */TextView title; 
    public View dividerTop; 
    public View dividerBottom; 

} 

}材料設計圖標代碼

String.xml

<!-- Material Design Icons --> 
<string name="material_icon_bike">&#xe915;</string> 
<string name="material_icon_go">&#xea04;</string> 
<string name="material_icon_sleep">&#xe9c2;</string> 
<string name="material_icon_eat">&#xeac6;</string> 
<string name="material_icon_play">&#xe831;</string> 
<string name="material_icon_drink">&#xea08;</string> 
<string name="material_icon_party">&#xe937;</string> 

什麼是這些字符串&#xea08; &#xe937; &#xeac6; ... 以及如何字符串&#xea08變爲圖標的含義是什麼?

我在資產/字體中有一個字體文件(MaterialDesignIcons.ttf)?

我不知道這種方法的原理是什麼?

我不知道這種方法的原理是什麼?

+2

'&#xea08; &#xe937; &#xeac6; 「這些只是字符串。如果你想改變那些顏色到'res'文件夾中'colors.xml'然後改變。 – Kathi

+0

謝謝您的回覆 觀看更新:) –

+0

請在下方查看我的答案以供更新 – Kathi

回答

2

如何字符串&#xea08;成爲圖標?

字符串可以變成圖標,(:))它的字符串編碼技術,這裏是HTML實體(十六進制)編碼。有很多編碼技術。

比方說當你在你的智能手機中輸入:)然後變成笑臉表情符號,還有編碼發揮作用。

你可以找到Unique Characters list

我有資產/字體的字體文件(MaterialDesignIcons.ttf)這些符號列表?

如果我理解正確,你的問是把.ttf文件放在字體文件夾中?

此.ttf與這些圖標之間沒有任何關係。

我不知道這種方法的原理是什麼?

希望大家通過看Unique Characters list

enter image description here

注意列表獲取的原則:如果你想改變這些圖標的顏色,你需要找出它們的字符串值

+0

您的回答對我有用 thanksssssss(y) –