[英]Icon does not show up on the action bar - Android
我正在尝试在操作栏上显示相机图标,但是它不起作用。 菜单显示并可以正常工作,但相机图标未显示。 你能帮我么?
先感谢您。
菜单代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item android:id="@+id/action_camera"
android:orderInCategory="0"
android:icon="@drawable/ic_action_camera"
android:title="@string/action_camera"
app:showAsAction="always" />
<item android:id="@+id/action_delete"
android:title="@string/action_delete"
app:showAsAction="never" />
</menu>
清单文件:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="br.com.cfb.daily_selfie" >
<uses-permission android:name="android.permission.VIBRATE" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_action_camera"
android:label="@string/app_name"
android:theme="@style/AppBaseTheme" >
<activity
android:name=".DailySelfieActivity"
android:label="@string/app_name"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".DisplayPictureActivity"
android:label="@string/title_activity_display_picture"
android:parentActivityName=".DailySelfieActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="br.com.cfb.daily_selfie.DailySelfieActivity" />
</activity>
<receiver android:name=".AlarmNotificationReceiver" >
</receiver>
</application>
</manifest>
波纹管onCreate()
public class DailySelfieActivity extends ListActivity {
static final int REQUEST_IMAGE_CAPTURE = 1;
public final static String EXTRA_MESSAGE = "br.com.cfb.daily_selfie.MESSAGE";
private static final String TAG = "DS-DailySelfieActivity";
private final static int INTENT_ID = 322;
private SelfieViewAdapter mAdapter;
private SelfieRecord mSelfieRecord;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ListView selfieListView = getListView();
final View footerView = ((LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_view, null, false);
selfieListView.addFooterView(footerView);
mAdapter = new SelfieViewAdapter(this.getApplicationContext());
loadListAdapter();
setListAdapter(mAdapter);
// Create Alarm to take a selfie
Alarm mAlarm = new Alarm(getApplicationContext());
// Enable filtering when the user types in the virtual keyboard
// selfieListView.setTextFilterEnabled(true);
// Set an setOnItemClickListener on the ListView
selfieListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// Display a Toast message indicting the selected item
Toast.makeText(getApplicationContext(), "position = " +position + " id = " +id
, Toast.LENGTH_LONG).show();
mSelfieRecord = (SelfieRecord) mAdapter.getItem(position);
Toast.makeText(getApplicationContext(), "Date = " +mSelfieRecord.getDate()
, Toast.LENGTH_LONG).show();
// Display Picture
Intent intent = new Intent(DailySelfieActivity.this, DisplayPictureActivity.class);
Bitmap mPicture = mSelfieRecord.getPicture();
intent.putExtra(EXTRA_MESSAGE, mPicture);
startActivity(intent);
}
});
}
波纹管OnCreateOptionsMenu
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_daily_selfie, menu);
return true;
}
ic_menu_camera
呢? 尽管在其他地方确实看到了对ic_action_camera
引用, ic_action_camera
对我来说不是。 我确实可以访问android:icon="@android:drawable/ic_menu_camera"
(请注意@android:drawable
)
或者,如@acostela所示,确保仅在android:icon="@drawable/ic_action_camera"
处于可绘制文件夹中。
我最初的Activity扩展了ListView,所以我更改并扩展了ActionBar,并且效果很好。
谢谢卡洛斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.