9

Witam Chciałbym zastosować niestandardowy Backgroundlayout tylko dla mojej głównej aktywności. Nie mogłem znaleźć rozwiązania. Czy ktoś może mi dać wskazówki?Ustawia grawitację tytułu na centrum w ActionBarSherlock

Chciałbym mieć prosty pasek tekstowy z tłem na pasku czynności. czy to możliwe?

Udało mi się usunąć ikonę i ustawić tło. Ale jak ustawić wagę tekstu na środku i zmienić czcionkę?

getSupportActionBar().setDisplayShowHomeEnabled(false); 
    getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(myimage)); 

Powinno to wyglądać tak: enter image description here

dzięki!

Odpowiedz

16

Musisz ustawić niestandardowy układ dla Actionbar tak:

getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); 
getSupportActionBar().setCustomView(R.layout.yourlayout); 

W układzie można następnie dodać TextView i ustawić jej grawitację do center. Np .:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#000000"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:text="Header!" 
     android:id="@+id/mytext" 
     android:textColor="#ffffff" 
     android:textSize="25dp" /> 

</LinearLayout> 

Następnie można ustawić niestandardową typefont wewnątrz swojej aktywności ze swoimi aktywami tak:

TextView txt = (TextView) findViewById(R.id.mytext); 
Typeface font = Typeface.createFromAsset(getAssets(), "yourfont.ttf"); 
txt.setTypeface(font); 
+3

Jeśli masz jakieś występy, to idzie strasznie źle. Zakładki pozostają, ale tytuł idzie BENEATH htem – Adam

+1

Ahmad Rocks ;-) –