将图标添加到Android导航抽屉?

bea*_*ean 17 icons android android-layout

我已经在网上搜索了这个问题的答案,但似乎找不到一个,即使在官方的Android文档中也是如此.

我正在创建一个实现Android新导航抽屉布局的应用程序.可以在此处此处找到此布局的文档.

在设计文档以及Facebook和Google Currents等众多流行应用中,抽屉物品前面都有图标.

设计文档本身在"导航抽屉的内容"下提到它们

导航目标可以具有可选的前导图标以及尾随计数器.使用计数器通知用户相应视图中数据的更改状态.

不幸的是,Developer文档没有提到如何在此设置中实现图标.它描述了如何实现项目列表:

public class MainActivity extends Activity {
private String[] mPlanetTitles;
private ListView mDrawerList;
...

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mPlanetTitles = getResources().getStringArray(R.array.planets_array);
    mDrawerList = (ListView) findViewById(R.id.left_drawer);

    // Set the adapter for the list view
    mDrawerList.setAdapter(new ArrayAdapter<String>(this,
            R.layout.drawer_list_item, mPlanetTitles));
    // Set the list's click listener
    mDrawerList.setOnItemClickListener(new DrawerItemClickListener());

    ...
}
}
Run Code Online (Sandbox Code Playgroud)

因为它们的实现使用getStringArray(),所以我无法想到修改行项目的xml以包含图标.

这是令人困惑的,因为许多应用程序似乎在每个文本项之前实现图标就好了,而设计文档甚至引用了添加图标.我觉得必须有一些简单的API调用来完成添加这些图标,但到目前为止我发现的唯一实现看起来非常复杂.

有谁知道如何在导航抽屉项目中添加图标?有没有办法通过一个简单的API调用来做到这一点,或者所有这些公司(Facebook,谷歌等)必须找到解决问题的方法?

感谢大家.

Com*_*are 7

因为它们的实现使用getStringArray(),所以我无法想到修改行项目的xml以包含图标.

a的模型数据的选择对于ListAdapter由其创建的行是否ListAdapter具有图标没有任何影响.

有谁知道如何在导航抽屉项目中添加图标?

放入ImageView你的行布局ListAdapter.ImageView通过你填充ListAdapter,例如通过覆盖getView()你的ArrayAdapter.IOW,就像你ListView多年来一样,你做的方式和你做的一样.

有没有办法通过简单的API调用来完成此操作

这取决于您对"简单"和"API调用"的定义.