繁体   English   中英

图标未显示在操作栏上-Android

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM