1

이전 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" > 

enter image description here

: 나는 매니페스트 파일에서 호출

<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"> 
+0

당신이 보여줄 수 있습니까? – azizbekian

+0

질문에 이미지를 첨부했습니다. 너는 그것을 볼 수 있니? – smartmouse

답변

2

난 당신이 홀로 테마로 돌아갈 생각 :

+0

효과가있었습니다! 정말 고맙습니다! 왜 내가이 변화를해야하는지 말해 줄 수 있니? 더 많은 정보를 제공 할 수 있습니까? – smartmouse

+1

당신은 어떻게 든 옛날 스타일에 의존하지만, 보통은 있어야하기 때문에 액션 바가 새로운 스타일로 나타나지 않는 이유를 말할 수 없습니다. 즉, 논리가있어 새로운 작업 표시 줄을 방해하는 것입니다. 이 코드 조각을 기반으로 한 더 자세한 정보를 제공 할 수 없습니다. 죄송합니다. – azizbekian

0

이 시도 이전에 얼마나

<style name="AppBaseTheme" parent="android:Theme.Holo.Light"> 
+0

'.DarkActionBar'를 추가하려고했지만 아무 것도 변경되지 않았습니다. – smartmouse

+1

이 코드가 질문에 대답 할 수 있지만 _how_ 및/또는 _why_에 대한 추가 [컨텍스트] (https://meta.stackexchange.com/q/114762)를 제공하면 문제를 해결할 수 있으므로 응답의 장기적인 가치가 향상됩니다. 지금 묻는 사람뿐만 아니라 앞으로 독자에게 질문에 답하고 있다는 것을 기억하십시오! 귀하의 답변을 설명에 추가하고 제한 사항과 가정이 적용되는지를 알려주십시오 (http://stackoverflow.com/posts/43469294/edit). –