2016-04-15 124 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) –