2016-10-19 1 views
2

Я добавил Toolbar поверх всех своих действий. Но я хотел, чтобы название было в центре, так как в некоторых предложениях по SO я создал TextView внутри Toolbar, и я смог поместить его в центр.
Теперь, когда я пытаюсь добавить Up Action в соответствии с этим руководством Adding an Up Action | Android Developers, у меня нет UpButton.
Это из-за использования TextView внутри Toolbar? Поскольку я читаю на SO, что панель инструментов в основном является View и может быть настроена так же, как и любой другой View, поэтому я не понимаю, почему это должно быть проблемой.Android - кнопка ActionBar Up не видна при использовании TextView в качестве заголовка ToolBar

  1. If that is the reason, and I'd have to use the default андроида: название = "My Title" attribute in for the Toolbar`, есть ли другой способ поставить его в центре?
  2. Каков обходной путь для этой проблемы, чтобы я мог получить Up Action, а также название панели инструментов в центре?

Спасибо за любую помощь, которую вы могли бы предоставить.

XML Layout

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:layout_width="match_parent"> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/lifeline_toolbar" 
     android:elevation="4dp" 
     android:background="@android:color/background_dark" 
     android:theme="@style/ThemeOverlay.AppCompat.ActionBar" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize"> 
     <TextView 
      android:layout_gravity="center_horizontal" 
      android:text="Lifeline" 
      android:textStyle="bold" 
      android:textSize="18sp" 
      android:id="@+id/lifeline_toolbar_title" 
      android:textColor="@android:color/white" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" /> 
    </android.support.v7.widget.Toolbar> 
    <LinearLayout> 
    </LinearLayout> 
    <LinearLayout> 
    </LinearLayout> 
</LinearLayout> 

Java Code

public class ll_home extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_ll_home); 

     Toolbar toolbar = (Toolbar) findViewById(R.id.lifeline_toolbar); 
     setSupportActionBar(toolbar); 
     ActionBar actionBar = getSupportActionBar(); 
     actionBar.setDisplayHomeAsUpEnabled(true); 
    } 
} 
+0

@ M.WaqasPervez Нет, это не имело никакого значения. Кнопка «Все еще не работает». – Yankee

+0

После дальнейшего чтения, я думаю, что вы правы в панели действий поддержки. Я удалил свой ответ, так как считаю, что он был неправильным. –

+1

Теперь мне это интересно, но я не на компьютере, где я могу экспериментировать. Возникает один вопрос: указали ли вы родительскую активность в AndroidManifest.xml? –

ответ

0

Вы должны установить getSupportActionBar() setHomeButtonEnabled (истина). активируйте кнопку «Вверх»

Toolbar toolbar = (Toolbar) findViewById(R.id.lifeline_toolbar); 
setSupportActionBar(toolbar); 
ActionBar actionBar = getSupportActionBar(); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setHomeButtonEnabled(true); 
+0

Спасибо Сунил, но это не работает. – Yankee