Özel görünüm AppCompat ActionBar yok't tam ekran alın Android Lolipop genişliği
Yani, ben sadece benim kod temeli Lollipop için güncellendi ve Eylem Çubuğu ile ilgili sorunlar yaşıyorum. AppCompat ve ActionBarActivity kullanarak, ve özel bir görünüm şişirme ediyorum. Özel görünümü artık ekranın bütün genişliğini, Sol tarafta ince bir şerit bırakıyor gibi görünüyor
Bakmak için kullanılan yol
Artık her şey görünüyor
Bu Eylem Bar kurmak için kullanıyorum kodudur. Herkes herhangi bir fikir var mı?
final ActionBar actionBar = getSupportActionBar();
if(actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setCustomView(R.layout.action_bar_content_search_custom_view);
actionBar.setBackgroundDrawable(null);
// actionBar.setStackedBackgroundDrawable(null);
TextView title = (TextView) actionBar.getCustomView().findViewById(R.id.action_bar_title);
title.setText(R.string.youtube);
ImageView back = (ImageView) actionBar.getCustomView().findViewById(R.id.action_bar_back);
back.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
Edit
Özel görünümü ve arka plan değiştirme şimdi tüm genişliğini kaplıyor. Sorun, nasıl bir CustomView bu ActionBar tüm genişliği kadar sürebilir yapabilir miyiz?
CEVAP
Bu gibi görünüyor appcompat-v7
son güncelleme: ActionBar
en son değişiklikleri nedeniyle oluşur.
Eylem barlar kolu ne kadar önemli değişiklikler var gibi görünüyor.
Aynı sorunu yaşadım ve ** 21, ve özellikle de aşağıdaki alıntıyı okuduktan sonra bir çözüm buldum.
Android L (level 21 API) ile başlayan, eylem çubuğundaki uygulama düzeni içinde herhangi bir Araç gereci ile temsil edilebilir. Uygulama araç Çubuğu Aktivite eylem bar olarak ele alınması gereken bir Aktivite için bir sinyal olabilir. Bu özelliği kullanmak faaliyetlere sağlanan birini kullanın .NoActionBar temalar, windowActionBar false veya başka bir pencere özelliği istemek için öznitelik.
Gördüğüm kadarıyla, AppCompat
tema değiştirildi ve bir yandan bazı şeyleri kırmak ama diğer yandan çok daha fazla esneklik sağlamak için görünüyordu.
Aşağıdaki adımları öneririz:
- Yukarıdaki alıntı açıklandığı gibi etkinliği
.NoActionBar
stil kullanın android.support.v7.widget.Toolbar
Etkinlik için bir düzen ekleyinapp:contentInsetStart="0dp"
özniteliğini ayarlayın.Bu soruyu açıklayan marjı ile ana konudur
<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="wrap_content"
app:contentInsetEnd="0dp"
app:contentInsetStart="0dp" >
</android.support.v7.widget.Toolbar>
Genellikle ayrı bir düzen içinde, yalnızca birden çok faaliyetlerinde kullanılan tek bir yerde araç Çubuğunu özelleştirmek için gereken şekilde, dosya ve aktivite düzeni içinde include
yapmak için önerilir
<include layout="@layout/view_action_bar" />
- 4=başlangıç
- Etkinliği
findViewById
setSupportActionBar
signal to the Activity which Toolbar should be treated as the Activity's action bar
onCreate
kullanınToolbar actionBar = (Toolbar) findViewById(R.id.actionBar); setSupportActionBar(actionBar);
- 5=başlangıç
- Bunu bir kez yaptığınızda, tüm eylemler
onCreateOptionsMenu
eklenen araç çubuğu eklenecek ve faaliyet eylem bar olarak kabul edilecektir. - Daha fazla özelleştirme araç Çubuğu istediğiniz gibi (vb alt görünümleri Ekleyin.)
Özel görünüm Android set yüksekliği ve...
Can't Tema Bulmak.AppCompat.Yeni ...
Özel ArrayİndexOutOfBoundsException gö...
Özel Saydam Android ActionBar...
Android özel bir görünüm için üç kuruc...