gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 23:23:33 24 4
gpt4 key购买 nike

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

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

在设计文档以及许多流行的应用程序(如 Facebook 和 Google Currents)中,抽屉项目的前面都有图标。

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

Navigation targets can have optional leading icons as well as trailing counters. Use the counters to inform users about a changed state of data in the corresponding view.

很遗憾,开发者文档没有提及如何在此设置中实现图标。它描述了如何实现项目列表:

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());

...
}
}

因为他们的实现使用了 getStringArray(),所以我想不出修改行项目的 xml 以包含图标。

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

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

谢谢大家。

最佳答案

Because their implementation uses getStringArray(), there is no way I can think of to modify the row item's xml to include an icon.

ListAdapter 的模型数据的选择对该 ListAdapter 创建的行是否可以有图标没有任何影响。

Does anyone know how to add icons to the Navigation Drawer items?

ListAdapter 的行布局中放置一个 ImageView。通过 ListAdapter 填充该 ImageView,例如覆盖 ArrayAdapter 上的 getView()。 IOW,您的操作方式与处理任何其他 ListView 的方式相同,多年来一直如此。

Is there a way to do this with a simple API call

这取决于您对“简单”和“API 调用”的定义。

关于android - 将图标添加到 Android 抽屉导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17069797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com