8

Próbuję zaktualizować aplikacje ActionBar na pasku narzędzi, ale napotkałem problem podczas dostosowywania paska narzędzi Toolbar do wyświetlania niestandardowego losowania.Obsługa systemu Android Pasek narzędzi nie wyświetla poprawnie niestandardowego losowania

Co próbowałem tak daleko jest aby ustawić mój xml rozciągliwej na pasku narzędzi, ale to niszczy cały pasek i przeniósł przycisku menu w dół, gdzie nie może poprawnie wyświetlić go:

Oto odkształcalne pierwszy:

bg_actionbar.xml

<?xml version="1.0" encoding="utf-8"?> 

<layer-list 
    xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:drawable="@drawable/bg_gradient" /> 
    <item android:drawable="@drawable/icon_logo" /> 

</layer-list> 

bg_gradient tylko 9patch gradientu obrazu i samo z icon_logo.

A dla mojego paska:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/actionBar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@drawable/bg_actionbar" 
     app:contentInsetEnd="0dp" 
     app:contentInsetStart="0dp"> 


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

ten popycha poniżej mój przycisk menu i ma rozstaw o 300dp na lewym ikona shrinked wysokości.

Teraz po prostu próbowałem bezpośrednio zmienić tło prosto w obrazek png (bg_gradient) i to samo się dzieje. Próbowałem także dodać ImageView wewnątrz paska narzędzi, ale to samo niszczy cały pasek narzędzi i znowu jestem zagubiony, jak mogę jeszcze bardziej dostosować ten pasek narzędzi. Ktoś ma pomysł? TIA.

UPDATE:

Próbowałem dodając układ liniowy na pasku narzędzi, aby zawierać tle, ale nadal nie są wyświetlane prawidłowo na mojej stronie:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto" 
     android:id="@+id/actionBar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@color/cherry_red" 
     app:contentInsetEnd="0dp" 
     app:contentInsetStart="0dp"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@drawable/bg_actionbar"/> 

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

Oto co się stało:

enter image description here

Dodatkowo oto, czego się spodziewałem:

enter image description here

Ikona powinna być na środku, a 9patch obraz jako gradientem ponieważ mam problemy na XML mieć procentową na początek i koniec środkowymi kolorów i navigationIcon powinna być na górze gradientu.

+0

Mogę wiedzieć, jaki rodzaj paska narzędzi, który spodziewasz się mieć przykładowy obraz, będzie pomocny. –

+0

Okay, dodam to na pytanie za chwilę. – KaHeL

+0

Hi @Rod_Algonquin, dodał przykładowy obraz zgodnie z życzeniem. :) – KaHeL

Odpowiedz

3

Hej Myślę, że to pomaga, bo mam aplikację z czymś podobnym

ToolBar achieve

Moje XML jest tak :

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/custom_toolbar" android:layout_width="match_parent" android:layout_height="56dp" 
android:background="@drawable/actionbar_bg" > 

      <RelativeLayout android:id="@+id/toolbar_logo" 
      android:layout_width="140dp" android:layout_height="40dp" 
      android:background="@drawable/ic_logo" 
      android:layout_gravity="left|center_vertical" 
      android:clickable="true"> 

     </RelativeLayout> 

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

Choć odkształcalne/actionbar_bg jest tak:

<?xml version="1.0" encoding="utf-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item> 
     <shape android:shape="rectangle"> 
      <gradient android:startColor="#FFFFFF" 
       android:endColor="#4093A3" 
       android:angle="90" /> 
     </shape> 
    </item> 
</layer-list> 

Nadzieja to pomaga.

1

.Użyj

Gravity na swoje wewnętrzne View

nadzieję, że pomoże

2

Użyj poniżej próbka xml dla układu

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

    <include layout="@layout/toolbar_home" 
     android:id="@+id/tool_bar" /> 

</LinearLayout> 

toolbar_home.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 

    <android.support.v7.widget.Toolbar 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/actionbar_icon_bg"/> 

    <ImageView android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:src="@drawable/ic_launcher" 
     android:layout_centerInParent="true"/> 
</RelativeLayout> 

W swojej działalności,

toolbar = (Toolbar) findViewById(R.id.tool_bar); 
    setSupportActionBar(toolbar); //or setActionBar(toolbar) 

Aby uzyskać ikonę nawigacji i rzeczy

toolbar.setNavigationIcon(R.drawable.btn_main_nav_selector); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); // or getActionBar().setDisplayHomeAsUpEnabled(true); 
Powiązane problemy