2013-04-09 2 views
2

내가 도움을 필요로의 새로운 버전에 예외가 발생합니다.사용자 정의 제목 표시 줄은 안드로이드 OS

A) 학습 장애 유무 : 난 내가 하나가 많은 일을 해봤 그 장소에 도달했습니다. B) 근본적으로 잘못된 것을하고 있습니다.

나는 아무 제목 표시 줄 및 사용자 정의 제목 표시 줄과 다른 활동의 무리와 함께 주요 활동이있는 응용 프로그램을 가지고있다. Android 2.3.3에서는 모든 것이 정상적으로 작동합니다.

cannot combine custom titles with other title features

내가 이렇게 내 사용자 지정 제목 표시 줄을 추가 해요 :

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 

    setContentView(R.layout.activity_about_us); 

    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.window_title); 

    TextView title = (TextView) findViewById(R.id.title); 
    title.setText(R.string.title_activity_about_us); 
    title.setGravity(Gravity.CENTER); 
    title.setTypeface(Typeface.SANS_SERIF, Typeface.BOLD); 
} 

I 메인에 제목 표시 줄을 사용하지 않도록하고있어 안드로이드의 최신 버전 (4.2) 나는이 얻을 다음과 같은 화면 :

<style name="MainTableTheme" parent="AppBaseTheme"> 
    <item name="android:windowNoTitle">true</item> 
</style> 

나는 ActionBarSherlock을 조사했지만, 그렇게 단순한 것처럼 지나치다. 나는 또한 20 개 이상의 stackoverflow 게시물을 읽는 것을 기반으로 막대를 "숨기는"다양한 방법을 시도했습니다. 결론은 사용자 정의 제목 표시 줄을 설정하는 것만 큼 단순하지 않은 것처럼 보입니다.

내가하고 싶은 모든

은 NO 제목 표시 줄 및 배경 색상 및 텍스트와 같은 설정 몇 가지 간단한 일이있는 제목 표시 줄 몇 가지 다른 활동과 주요 활동을 가지고있다. 2.3.3 이상에서 작동하도록하려면 어떻게해야합니까? 나는 가지고있는 모든 것을 누 클링하는 것이 좋다. 나는 단지 작동하는 것을 필요로한다.

도움말 ... 나 .....

+0

당신은,로 "아이의 활동을"무엇을 생각 하는가? – CommonsWare

+0

죄송합니다. 주 활동 후 활동을 의미합니다. 내 주 활동에는 제목 표시 줄이 없지만 목록 항목을 클릭하면 제목 표시 줄에 새로운 활동이 열립니다. –

답변

0

내가 주요 문제를 알아낼 수 없었다 않았다.

사용자 정의 레이아웃 (window_title.xml) : 나는 XML 복제 할 필요없이 각 Activity 레이아웃에 포함하는 방법

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/linear_layout" 
    android:orientation="horizontal" 
    android:layout_width="fill_parent" 
    android:layout_height="35dip" 
    android:gravity="center_horizontal" 
    android:paddingLeft="5dip" 
    android:background="#fab41e" 
    android:layout_alignParentTop="true"> 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:textSize="22sp" 
     android:paddingRight="5dip" 
     android:typeface="sans" 
     android:textStyle="bold" 
     style="@style/OverlayText"/> 
</LinearLayout> 

:

<include layout="@layout/window_title" /> 

이 전체 런타임 예외 문제를 해결 얻었다을 AND 나는 그것이 맞는 것으로 각 Activity에서 그것을 수정할 수있다. 이 용어는 일반적으로 안드로이드 개발에 사용되지 않기 때문에

0

변경 <item name="android:windowNoTitle">true</item><item name="android:windowNoTitle">false</item>에 (당신은 제목 표시 줄을 원하는 것처럼) 및 .NoActionBar 맛을 낸 Holo 테마에서 해당 AppBaseTheme 상속을 위해 (예를 들어, Theme.Holo.NoActionBar)를, 적어도 API 레벨 11 이상. 따라서, 예를 들어, onCreate()이 주제로, 그것은 작동 : 나는 정의 레이아웃을 생성 결국 다음 단지 각각의 메인 레이아웃에 포함되도록

<style name="MainTableTheme" parent="android:Theme.Holo.NoActionBar"> 
    <item name="android:windowNoTitle">false</item> 
</style> 
+0

아니, 작동하지 않습니다. 2.3.3과 달리 실행하면 제목 표시 줄이 주 활동에 표시됩니다. 다른 활동들은 옳았다. 안드로이드 4.2에 대하여 , 간단한 보이는 제목 표시 줄이 표시되지만 사용자 정의 제목 표시 줄과 활동을로드 할 때 여전히 "... 결합 할 수 없습니다 ..."오류와 충돌한다. –

+0

@ Mr.Spock : 4.2에서 나에게 도움이 되었기 때문에, 내가 쓴 것이 4에서 작동한다는 것을 확신한다.2, 충돌 없음. – CommonsWare

+0

OK - 감사합니다! 들여다 볼 물건 몇 개를 주셨습니다. 귀하가 전체 프로젝트를 공유 할 수있는 방법이 있습니까 (귀하가 저를 도와주기 위해 작성한 작은 프로젝트가 있다면)? 그래도 그것을 공유하는 가장 좋은 방법은 확실하지 않습니다. 나는 근본적으로 잘못된 것을하고 있지만 아직 그것에 손가락을 넣을 수는 없습니다. –

관련 문제