2012-02-13 14 views
7

Uygulamam için özel bir ev simgesi var ve ekranın kenarına değecek şekilde hareket çubuğunun soluna kadar hizalanmasını istiyorum. Bu mümkün mü ve eğer öyleyse, nasıl yapılabilir? Dolguya ya da kenar boşluğuna, sola kadar hizalanacak şekilde ayarlayan hiçbir şey göremiyorum.Uygulama simgesi ve ekranın kenarı arasında ActionBar'da kenar boşluğu nasıl kaldırılır?

+0

ana simgesine bağlı bir dolgu ya da kenar yoktur ?? eğer öyleyse onları kaldırın. Btw bize xml dosyasından bazı kodları gösterir, sonra birçok kişi size yardımcı olabilir. –

+0

Bunun için xml yoktur. Sadece android eklendi: icon = "@ drawable/my_icon" manifestosuna ve ab.setDisplayShowHomeEnabled (true); ab.setDisplayUseLogoEnabled (false); etkinliğe göre – CACuzcatlan

cevap

5

Bunu başarmayı başardım. Özel bir actionbar görünümü kullanmanız gerekir. Oldukça kolay aslında:

sizin res/değerler/themes.xml içinde

  • İlk (Bu ActionBarSherlock kullanıyor, bu ... ayrıca stok compat kütüphane ile çalışması gerekir), İşlem Çubuğu ekran ayarlamak "özel" için seçenekleri:

    <item name="android:displayOptions">showCustom</item> 
    
  • Sonra içinde res/düzen/actionbar_layout.xml ve yeri adlı bir dosya oluşturmak bir şey gibi:

    <ImageView 
        android:id="@+id/home_icon" 
        android:layout_alignParentLeft="true" 
        android:layout_marginLeft="5dp" 
        android:layout_marginRight="5dp" 
        android:layout_marginTop="5dp" 
        android:layout_marginBottom="5dp" 
        android:scaleType="centerCrop" 
        android:layout_width="wrap_content" 
        android:layout_height="fill_parent" /> 
    
    <!-- Add textviews or whatever you like here to replicate the actionbar 
        title etc. --> 
    

  • Ardından, etkinlik kodu aşağıdakileri ekleyin:

    View mActionCustomView = getSherlockActivity().getLayoutInflater() 
        .inflate(R.layout.actionbar_layout, null); 
    getSherlockActivity().getSupportActionBar().setCustomView(
         mActionCustomView); 
    
    ImageView homeIcon = (ImageView)mActionCustomView 
        .findViewById(R.id.home_icon); 
    int abHeight = getSherlockActivity().getSupportActionBar() 
        .getHeight(); 
    homeIcon.setLayoutParams(new RelativeLayout.LayoutParams(
          abHeight, abHeight)); 
    

Bu temelde bu! Dışarıda bıraktığım bir şey varsa haber ver. Özelleştirilebilir bir actionbar görünümüne sahip olmanın bazı yararları vardır, sadece temel bilgilere bağlı kalın ve harika görünecektir.

enter image description here

+0

Giriş bölmesi düzeni parametrelerini ayarlamanıza gerek yoktur, sadece @ + id/home_icon sayfasındaki kenar boşluklarını 0 olarak ayarlayın (örnekte gösterildiği gibi 5dp yerine). – scottyab

+0

Themes.xml yok ... –

+0

@OnuraySahin Aynı seçeneği http://developer.android.com/reference/android/app/ActionBar.html#setDisplayShowCustomEnabled%28boolean%29 kodunda ayarlayabilirsiniz – brk3

İlgili konular