2016-08-27 22 views
0

アンドロイドスタジオが提供するタイトルバーの代わりにカスタムタイトルバーを作成しようとしています。カスタマイズされたタイトルバーと元のタイトルバーの両方が表示されます

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.example.hsports.fragmentsinandroid.MainActivity"> 


    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:id="@+id/textTitle" 
     android:text="CustomTitle" 

     /> 


    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:src="@drawable/duck" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentRight="true" 
     /> 



</RelativeLayout> 

そして、私のMainActivityクラスは次のとおりです: 私activity_main.xmlがある

package com.example.hsports.fragmentsinandroid; 

import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.Window; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); 

     setContentView(R.layout.activity_main); 

     getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.activity_main); 
    } 
} 

私style.xmlは次のとおりです。

<resources> 

    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
     <!-- Customize your theme here. --> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 
    </style> 

    <style name="CustomTheme" parent="@style/Theme.AppCompat"> 
     <item name="colorPrimary">@color/colorPrimary</item> 
     <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
     <item name="colorAccent">@color/colorAccent</item> 

     <item name="android:windowNoTitle">false</item> 
    </style> 
</resources> 

マイAndroidManifest.xmlファイルには、次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.hsports.fragmentsinandroid"> 

    <application 
android:allowBackup="true" 
android:icon="@mipmap/ic_launcher" 
android:label="@string/app_name" 
android:supportsRtl="true" 
android:theme="@style/CustomTheme"> 
<activity android:name=".MainActivity"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 

     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 
</application> 

    </manifest> 

アフト上記のコードをアンドロイドアプリケーションに使用すると、スクリーンショットに添付された出力が得られます。添付のスクリーンショットをご覧ください。 私は両方のタイトルバー(カスタマイズ+オリジナル)を取得しています。カスタマイズされたものだけを表示したい。 the attached screenshot is here.

+0

可能な複製を無効にする必要がありますカスタムテーマ

<item name="android:windowNoTitle">false</item>を使用する必要がありますWindow.FEATURE \ _CUSTOM \ _TITLEを使用しようとしましたが、例外があります:カスタムタイトルを他のタイトル機能と組み合わせることはできません..](http://stackoverflow.com/questions/2686556/try-to-use-window-feature-custom - タイトル - しかし - 例外 - あなたを結合することはできません - cust) –

+0

エラーメッセージを表示すると、解決策を見つけるのに役立ちます。 –

答えて

0

あなたはこのcannot combine custom titles with other title features

を確認しなかったあなたは[あなたのテーマでカスタムタイトルを使用する場合、それはのFEATURE_NO_TITLE

+0

あなたはもう一度その質問をご覧ください。私はいくつかの編集をしました。 –

関連する問題