我从
下载了导航抽屉的示例应用http://developer.android.com/training/implementing-navigation/nav-drawer.html
现在我想在列表中的特定项目中添加一个图标;例如
我该怎么做? (代码请)
答案 0 :(得分:1)
假设您正在通过Navigation Drawer
实现ListView
,则需要通过添加ImageView来修改列表项的布局。然后,您应修改用于填充ListView
的适配器,以便相应地设置src
的{{1}}。
引用您链接的指南:
ImageView
您的大部分更改将被连线:指定包含TextView和ImageView的布局并创建新的适配器。
为方便起见,您可以创建一个名为NavDrawerItem的类,它将包含两个字段:一个用于图标,另一个用于通过 // Set the adapter for the list view
mDrawerList.setAdapter(new ArrayAdapter<String>(this,
R.layout.drawer_list_item, mPlanetTitles));
显示的字幕。
在适配器中,请务必考虑您不会显示图标的菜单项。
答案 1 :(得分:0)
试试这个
private ActionBarDrawerToggle mDrawerToggle;
mDrawerToggle=new ActionBarDrawerToggle(this,
mdrawerlayout,
R.drawable.ic_whats_hot,
R.string.app_name,
R.string.app_name)
{
public void onDrawerClosed(View view)
{
getActionBar().setTitle(mTitle);
invalidateOptionsMenu();
}
public void onDrawerOpened(View view)
{
getActionBar().setTitle(R.string.app_name);
invalidateOptionsMenu();
}
};
public boolean onOptionsItemSelected(MenuItem item)
{
if(mDrawerToggle.onOptionsItemSelected(item))
{
return true;
}
switch(item.getItemId())
{
case R.id.action_settings:
intent1=new Intent(MainActivity.this,ActivitySetting.class);
startActivity(intent1);
return true;
case R.id.action_websearch:
intent1=new Intent(Intent.ACTION_VIEW,Uri.parse("http://http://www.vogella.com/"));
startActivity(intent1);
return true;
default :
return super.onOptionsItemSelected(item);
}
}
在编码和XML文件中尝试这个
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/action_websearch"
android:showAsAction="always"
android:icon="@drawable/action_search"
android:title="search"/>
<item
android:id="@+id/action_settings"
android:title="Settings"
android:icon="@drawable/ic_launcher"
>
</item>
<item
android:id="@+id/action_logout"
android:title="logout"
android:icon="@drawable/ic_launcher"
/>