이전 Android (4.4 Kitkat) 프로젝트를 Eclipse에서 Android Studio로 마이그레이션했습니다. 앱을 실행할 때 더 이상 ActionBar가 없습니다!새 SDK에 이전 사용자 정의 ActionBar를 표시하는 방법은 무엇입니까?
다음public class Main extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent intent;
switch (item.getItemId()) {
case R.id.Open:
intent = new Intent(this, Open.class);
startActivity(intent);
return true;
case R.id.Email;
intent = new Intent(this, Email.class);
startActivity(intent);
return true;
case R.id.Compartir:
intent = new Intent(this, Compartir.class);
startActivity(intent);
return true;
case R.id.About:
intent = new Intent(this, About.class);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
내 styles.xml
파일입니다 : 여기
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
: 나는 매니페스트 파일에서 호출
<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.Light"></style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_expand</item>
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="android:contentDescription">"Lala"</item>
</style>
</resources>
프로젝트에서 나는 options.xml
을 가지고 있습니다. 볼 수 있듯이, Action Bar의 내용을 생성합니다 : 1 버튼 + 3 버튼이있는 드롭 다운 메뉴 인 옵션 버튼.
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/Open"
android:title="@string/option_open"
android:icon="@drawable/ic_action_open"
android:showAsAction="ifRoom" />
<item android:id="@+id/Email"
android:title="@string/option_email"
android:icon="@drawable/ic_action_person"
android:showAsAction="never" />
<item android:id="@+id/Compartir"
android:title="@string/option_compartir"
android:showAsAction="never" />
<item android:id="@+id/About"
android:title="@string/option_about"
android:showAsAction="never" />
</menu>
어쨌든 앱을 빌드하면 휴대 전화에 ActionBar가 표시되지 않습니다. 이클립스 ADT로 앱을 만들 때 나는 그것을 가지고 있었다. 차이점은 전에 사용했던 SDK 이전 버전이라고 생각합니다. 그런 다음, 사용자 정의 테마로 ActionBar를 다시 만드는 방법은?
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
당신이 보여줄 수 있습니까? – azizbekian
질문에 이미지를 첨부했습니다. 너는 그것을 볼 수 있니? – smartmouse