Мои действия расширяют ActionBarActivity. Моя проблема в том, что когда я запускаю приложение на реальном устройстве (Galaxy S2) с Android 4.2, меню НЕ находится в панели действий, а в нижней части приложения. И нажать кнопку физических параметров на устройстве, чтобы она была видна. BUT на AVD с Android 4.2 меню находится в правом верхнем углу приложения на панели действий.Почему элементы панели действий отображаются в разных местах с AVD и фактическим устройством?
Я хочу, чтобы мои значки панели действий отображались на правой стороне панели действий в правом верхнем углу приложения. НЕ как группа в меню, ни в нижней части.
Я пробовал различные варианты showAsAction. Нехорошо. Например, «всегда» просто помещает фиксированную ленту внизу, содержащую меню. Не отдельные предметы, не сверху!
Большое спасибо за вашу помощь заранее.
Manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.**.**" android:versionCode="3" android:versionName="1.0.2" android:installLocation="auto"> <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
меню XML
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.**.**.AboutActivity"
<item
android:id="@+id/action_settings"
android:orderInCategory="100"
android:title="@string/action_bar_settings"
app:showAsAction="always"/>
<item android:id="@+id/action_search"
android:icon="@drawable/ic_launcher"
android:title="map"
app:showAsAction="always"/>
<item android:id="@+id/action_compose"
android:icon="@drawable/contact_info"
android:title="test"
app:showAsAction="always"/>
Моя активность:
public class ActivityAbout extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction().add(R.id.container, new FragmentAbout()).commit();
}
int currentAPIVersion = android.os.Build.VERSION.SDK_INT;
if (currentAPIVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.about, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_settings) {
Intent intent=new Intent(ActivityAbout.this, ActivityAbout.class);
startActivity(intent);
return true;
}
return super.onOptionsItemSelected(item);
}
}
Так почему мой значок приложения отображается на приложении на черной ленте?И он отлично работает с setDisplayHomeAsUpEnabled? Разве это не панель действий? : S – Tina
обновил ответ – JafarKhQ
Я сделал это. Все еще на дне. – Tina