2015-05-17 4 views
0

Я использую библиотеку Appcompat, чтобы получить поддержкуActionBar в моей ActionBarActivity. Теперь я сталкиваюсь с другой задачей, и это, как добавить панель инструментов под этой панелью действий, что-то вроде приложения facebook. Есть идеи, как это сделать?Панель инструментов Android + панель действий

ответ

0

Просто добавьте android.support.v7.widget.Toolbar в макете для этой деятельности, но не называйте setActionBar (панель инструментов) в вашем OnCreate(). Панель инструментов может иметь нормальные представления внутри нее, такие как Button, TextView и т. Д., Которые вы можете получить с помощью обычного findViewById().

toolbar.xml

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar 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:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:background="@color/bg_gradient_start" 
    app:contentInsetEnd="0dp" 
    app:contentInsetStart="0dp"> 


    <FrameLayout 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent"> 

     <Button 
      android:id="@+id/toolbarBackButton" 
      android:layout_width="72dp" 
      android:layout_height="48dp" 
      android:layout_gravity="left|center_vertical" 
      android:background="@android:color/transparent" 
      android:text="@string/back" 
      android:textColor="@drawable/button_text_color" /> 

     <TextView 
      android:id="@+id/toolbarTitleText" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center" 
      tools:text="Title" /> 

     <Button 
      android:id="@+id/toolbarNextButton" 
      android:layout_width="72dp" 
      android:layout_height="48dp" 
      android:layout_gravity="right|center_vertical" 
      android:background="@android:color/transparent" 
      android:text="@string/next" 
      android:visibility="gone" 
      tools:visibility="visible" 
      android:textColor="@drawable/button_text_color" /> 
    </FrameLayout> 
</android.support.v7.widget.Toolbar> 

В activity_main.xml Я имею

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

Затем в OnCreate(), вы можете просто findViewById(R.id.toolbarBackButton) или любой идентификатор вы хотите использовать, то же самое как другие взгляды.

+0

Это выглядит многообещающим. Только один вопрос, как я могу добавить эти представления? Я имею в виду, что xml и java-код. Я не очень хорошо знаком с actionbars. – Traabefi

+0

Вы имеете в виду панели инструментов? Вы знаете, как FrameLayout может иметь элементы внутри него? Панели инструментов тоже. – lemuel

+0

Я имел в виду все это: D Хм, Так что я просто вложил это в xml или как? Можете ли вы показать мне, пожалуйста? – Traabefi

0

Как только вы позвоните setSupportActionBar(toolbar), вы соглашаетесь с тем, что ActionBar будет заменен на Toolbar. Я считаю, что приложение Facebook использует скользящие Tab, вместо ActionBar ниже Toolbar, но они спроектировали его как можно красивее. Android только позволяет нам установить один ActionBar, не более. Думаете, что вы переопределяете onCreateOptionsMenu, где будут размещены Menu предметов?

+0

Ну, это правда. Но как создать эту скользящую вкладку? – Traabefi

+0

Это именно то, что я хотел – Traabefi

Смежные вопросы