2016-02-03 3 views
0

Я только что сделал приложение, используя шаблон студии Android для навигации. Его все работает нормально, но у меня есть следующие два требования:Как изменить имя панели инструментов и поставить значок с помощью панели инструментов

  1. Я хочу центрировать заголовок панели инструментов.
  2. Я хочу поместить изображение рядом с названием.

Вот мой XML:

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context="com.abdulsalam.lahoreqalander.MainActivity"> 

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" /> 

</android.support.design.widget.AppBarLayout> 

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

<!--<android.support.design.widget.FloatingActionButton--> 
    <!--android:id="@+id/fab"--> 
    <!--android:layout_width="wrap_content"--> 
    <!--android:layout_height="wrap_content"--> 
    <!--android:layout_gravity="bottom|end"--> 
    <!--android:layout_margin="@dimen/fab_margin"--> 
    <!--android:src="@android:drawable/ic_dialog_email" />--> 

Проблема:

Я не знаю, где строка заголовка сохраняется, я проверил string.xml и там это имя приложения, которое точно отображается в заголовке панели инструментов.

Итак, любое предложение, где я могу изменить строку заголовка без изменения имени приложения, На самом деле я хочу изменить его обычай, а также как поместить изображение рядом с ним.

Примечание Я использую шаблон сделанный Android студии

.

+0

getSupportActionBar(). SetTitle («образцы образцов материалов»); –

+0

getSupportToolBar() поможет вам в заголовке и рисунках –

+0

, но как установить гравитацию –

ответ

2

Вы можете реализовать, как это в XML.

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    app:popupTheme="@style/AppTheme.PopupOverlay"> 

    <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" 
    android:layout_gravity="center"> 

      <ImageView 
      android:src="@mipmap/ic_launcher" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

      <TextView 
      style="@style/TextAppearance.Widget.AppCompat.Toolbar.Title" 
      android:text="@string/app_name" 
      android:background="?attr/selectableItemBackground" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 

    </LinearLayout> 

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

в вас классе деятельности сделать это создать

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
setSupportActionBar(toolbar); 
toolbar.setTitle("example"); 
toolbar.setLogo(R.drawable.icon); 

или отредактировать строку ресурсосберегающим и изменить значение заголовка и значок

+0

, чтобы отредактировать строковый ресурс, я могу видеть, какой ресурс строки установлен для него, как показано в коде –

+0

также в java нет способа изменить гравитацию –

+0

проверить в файле манифеста, что деятельность будет сопровождаться с листом –

0

В первую очередь от the documentation:

Использование значка программы плюс заголовка в качестве стандартного макета не рекомендуется на API 21 устройства и новые.

Для установки значка через xml вы можете использовать android:navigationIcon внутри вашей панели инструментов. Для настройки текста я также хотел бы использовать подход кода Java, поскольку я не мог найти ничего с xml в документации. В любом случае, текст не будет сосредоточен.

Если вы хотите центрировать текст, вам нужно изменить панель инструментов. Панель инструментов - это представление, и вы можете поместить что-нибудь на панель инструментов, которую хотите.

<android.support.v7.widget.Toolbar 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    app:popupTheme="@style/AppTheme.PopupOverlay"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:paddingRight="@dimen/activity_horizontal_margin" 
     android:paddingEnd="@dimen/activity_horizontal_margin"   
     android:id="@+id/toolbar_content"> 

     // define text and icon here 

    </RelativeLayout> 

</android.support.v7.widget.Toolbar> 
Смежные вопросы