2016-12-27 11 views
1

please check the image that shows the displayed output私はフラグメントクラスを作成しました。そのXMLレイアウトでは、テキストを含むツールバーが追加されています。しかし何らかの理由でアプリ名もそこに表示されます。私は同じコードで他のページも作っていますが、名前はこのコードだけに表示されます。ここでツールバーにアプリ名が表示されるのはなぜですか?

は私のXMLコードです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" 
xmlns:app="http://schemas.android.com/apk/res-auto"> 

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_toolbar1" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="4dp" 
    android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

    <TextView 
     android:text="Recharges" 
     android:textAppearance="@style/Base.TextAppearance.AppCompat.Large" 
     android:textColor="#ffffff" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/textView1" 
     android:layout_weight="1" /> 

</android.support.v7.widget.Toolbar> 


<ImageView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    app:srcCompat="@drawable/logo" 
    android:id="@+id/imageView3" /> 

<GridLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:columnCount="2" 
    android:rowCount="5"> 



    <ImageView 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:layout_marginTop="25dp" 
     android:layout_marginRight="10dp" 
     android:layout_row="1" 
     android:layout_column="0" 
     app:srcCompat="@drawable/mobile" 
     android:id="@+id/imageView4" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_row="1" 
     android:gravity="center" 
     android:layout_column="1" 
     android:layout_marginTop="30dp" 
     android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" 
     android:text="Mobile"/> 

    <ImageView 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:layout_marginTop="25dp" 
     android:layout_row="2" 
     android:layout_column="0" 
     app:srcCompat="@drawable/tv" 
     android:id="@+id/imageView" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_row="2" 
     android:layout_column="1" 
     android:layout_marginTop="30dp" 
     android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" 
     android:text="DTH"/> 

    <ImageView 
     android:layout_width="30dp" 
     android:layout_height="30dp" 
     android:layout_marginTop="25dp" 
     android:layout_row="3" 
     android:layout_column="0" 
     app:srcCompat="@drawable/data" 
     android:id="@+id/imageView8" /> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_row="3" 
     android:layout_column="1" 
     android:layout_marginTop="30dp" 
     android:textAppearance="@style/Base.TextAppearance.AppCompat.Medium" 
     android:text="DataCard"/> 

     /> 




</GridLayout> 

+0

はあなたがアンドロイドを追加しました:テーマ= "@スタイル/ ThemeOverlay.AppCompat.ActionBar" も他のページからこのテーマを? –

+0

はい、この問題は元々はありませんでした。グリッドレイアウトコードの後に​​来ました。 –

+1

toolbar.setTitle( "Recharges")を使用しようとしました。あなたのJavaコードで。このために余分なTextViewを使用する必要はありません。 –

答えて

0

に - android:theme="@style/ThemeOverlay.AppCompat.ActionBar"

変更する行の上:

app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 

タイトルは白色で表示されます。

はこれでツールバーのコードを置き換えます

<android.support.v7.widget.Toolbar 
    android:id="@+id/my_toolbar1" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    android:elevation="4dp" 
    app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

をJavaでは:

final Toolbar toolbar = (Toolbar) view.findViewById(R.id.my_toolbar1); 
toolbar.setTitle("Recharges"); 
0

OnCreateの代わりに、それぞれの活動にいくつかのコードを追加するの時間を節約するには()あなたはのAndroidManifest.xmlに各活動にラベルを追加することができますツールバーに自動的に追加されます。例:

<activity 
     android:name="com.example.Activity" 
     android:label="@string/app_name" 
     android:screenOrientation="landscape"/> 
0

これを試してみてください。

をあなたのコードでは、あなたのfragment

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    // Inflate the layout resource that'll be returned 
    View rootView = inflater.inflate(R.layout.fragment_home, container, false); 
    mToolbar = (Toolbar) rootView.findViewById(R.id.my_toolbar1); 
    if (mToolbar != null) { 
     ((AppCompatActivity)getActivity()).setSupportActionBar(mToolbar); 
    } 
    mToolbar.setTitle("Text Title"); 

    return rootView; 
} 
関連する問題