Material 设计图标代码

Material Design Icons code

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>

这些String是什么意思&#xea08; &#xe937; &#xeac6; ... 字符串 &#xea08 是如何变成图标的?

我在 assets/font 中有一个字体文件 (MaterialDesignIcons.ttf) ??

不知道这个方法的原理是什么?

不知道这个方法的原理是什么?

How String &#xea08; Becomes icon ?

字符串可以变成图标,(:))它的字符串编码技术,这里HTML实体(十六进制)编码。有很多编码技术。

比方说,当你在智能手机中输入 :) 然后变成微笑表情符号时,编码也起作用。

您可以在 Unique Characters list

中找到这些符号的列表

I have a Font File (MaterialDesignIcons.ttf) in the assets/font ??

如果我没理解错的话,你是问把 .ttf 文件放到 font 文件夹里?

此 .ttf 与那些图标之间没有任何关系。

I know not what is the principle of this method ?

希望大家看到Unique Characters list的列表就明白原理了

注意:如果您想更改这些图标的颜色,则需要找出它们的字符串值