2015-09-16 35 views
8

Malzeme tasarımını kullanarak arka plan resmiyle araç çubuğu oluşturma.android araç çubuğu: resimde arka planında bir araç çubuğu ve üst menü öğeleri nasıl bulunur?

toolbar with image and overflow and search menu icon.

Aşağıdaki kodu çalışıyorum:

<?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" 
    android:id="@+id/actionBar" 
    android:layout_width="match_parent" 
    android:layout_height="200dp" 
    app:contentInsetEnd="0dp" 
    app:contentInsetStart="0dp" 
    android:minHeight="200dp"> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/imageViewplaces" 
     android:src="@drawable/puri" 
     android:layout_gravity="center"/> 

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

ve ne i alıyorum geçerli:

enter image description here

+0

denendi 'src' yerine 'background' özniteliğini kullanarak? –

+0

Denedim. Aynısı. görüntü entier araç çubuğu alanını kapsamaz. Araç Çubuğunun her yerine resim uygulamak için –

+0

'android: layout_width =" match_parent "' için Araç Çubuğu olarak ImageView için "match_parent" kullanılır. ImageView genişliğini "match_parent" olarak değiştirmelisiniz. wrap_content, ImageView –

cevap

10

çağırabilir.

Böyle Toolbar kaplayan bir ImageView ile RelativeLayout kullanarak deneyebilirsiniz:

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <ImageView 
     android:id="@+id/imageViewplaces" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:src="@drawable/YOUR_IMAGE" /> 

    <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/toolbar_actionbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     > 

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


</RelativeLayout> 
+0

Araç çubuğu için yükseklikten söz etmek nerede –

+0

Android: imageViewBounds = "true" özelliği ImageView pencereye sığacak şekilde ölçeklendirir. Bu, kaynak görüntünüzün genişliği ve yüksekliği arasındaki ilişkinin saklı tutulduğu anlamına gelir, layout_width eşleştiğinde eşleme_ayarı cadı bu durumda ekranın genişliğidir – RWIL

2

aşağıdaki

istediğim budur Bir elemanın zekâsı eklemek yerine görüntüyü araç çubuğuna ekleyin, görüntüyü araç çubuğunun arka planı olarak ekleyin, aşağıdaki kod. Eğer java kodunda değiştirmek isterseniz .setBackground(...) işlevini kullanarak üzerinden bir ImageView kullanmakta ısrar ederse

<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="200dp" 
    app:contentInsetEnd="0dp" 
    app:contentInsetStart="0dp" 
    android:background="@drawable/puri" 
    android:minHeight="200dp"> 

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

, sen toolbar.setBackground(ContextCompat.getDrawable(yourcontext, R.drawable/puri);

+0

araç çubuğuna yerleştirmek için bu yolla ekleyebilirim. Bunu biliyordum. Ama bunu imageview kullanarak eklemek istiyorum. Görüntünün ayrı bir görünüm olmasını istiyorum. Böylece kolayca kırpma ve ölçekleme kullanabilirsiniz –

+0

Okey, üzgünüm. ImageViews için 'scaleType' özniteliğini 'centerCrop' değeriyle veya başka bir değerle ayarlayabilirsiniz, zaten denediniz mi? Ayrıca, "layout_width" öğesini "wrap_content" olarak neden ayarlıyorsunuz? – yennsarah

0

Daha uygun bir çözüm bir AppBarLayout kullanmak olacaktır:

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbarlayout" 
    android:layout_width="match_parent" 
    android:layout_height="?attr/actionBarSize" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
    > 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 
    <ImageView 
     android:layout_width="match_parent" 
     android:layout_height="?android:attr/actionBarSize" 
     android:src="@drawable/bg" 
     android:scaleType="centerCrop"/> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> 
    </RelativeLayout> 
</android.support.design.widget.AppBarLayout> 

İlgili konular