Google Tasarım Uygulama Çubuğu yönergelerinde genişletilmiş yükseklik uygulama çubuğu gördüm . Bunları Android Lollipop'ta nasıl uygularım?
Google Tasarım Uygulama Çubuğu yönergelerinde genişletilmiş yükseklik uygulama çubuğu gördüm . Bunları Android Lollipop'ta nasıl uygularım?
Yanıtlar:
Yeni Araç Çubuğunu kullanmanız gerekiyor başarmak widget'ını . Araç Çubuğu, düğmeler (ve eylemler) için kullanılan alan miktarını bildirmek için minimum yüksekliği için özel bir işleme sahiptir.
Aşağıdaki örnekte, yüksekliği 128 dp (spesifikasyonda tanımlandığı gibi 56 dp + 72 dp) olarak ayarlıyoruz, ancak android:minHeight
standart olarak actionBarSize
(genellikle 56 dp) tutuyoruz. Bu, düğmelerin ve eylemlerin dikey olarak üstteki 56dp'ye yerleştirilmek üzere sınırlandırıldığı anlamına gelir. Daha sonra android:gravity
başlığı altta konumlandırmak için kullanabiliriz .
<Toolbar
android:id="@+id/toolbar"
android:layout_height="128dp"
android:layout_width="match_parent"
android:minHeight="?android:attr/actionBarSize"
android:background="?android:attr/colorPrimary"
android:gravity="bottom" />
AppCompat kullanıyorsanız, android.support.v7.widget.Toolbar
bunun yerine kullanmak için bildirimi değiştirin ve özniteliklerini kullanın.
@dimen/action_bar_size_x2
boyutlandırın ve telefonlarda 112 dp, tabletlerde 128 dp kullanın
android:paddingBottom
buttonGravity
olarak ayarlandığında garip boşluklar ortaya çıkarır bottom
. titleMarginBottom
Niteleyecisi, burada daha iyi seçenek gibi görünüyor?
Sorunuz, cevabı ve dahası araç çubuğunun yerel ve destek kitaplığında uygulanması için teşekkür ederiz :)
Ve daha fazla oynayabiliriz. Çalışma zamanında Yükseklik ve MinimalHeight ile oynayabiliriz.
Yükseklik Araç Çubuğu yüksekliğidir, basittir, her vücut anlar ve yerçekimi bu yüksekliğe göre hareket eder.
MinimalHeight daha karmaşıktır ve minimum 56dp'de olmamalıdır. Bu minHeight, menuItem'inizin satırını yerleştirmek için kullanılır. Bu çizgi minHeight değerinizin ortasındadır.
Böylece farkı kendiniz görmek için bu kodu faaliyetinize ekleyebilirsiniz. :)
Runnable toolBarAnimator=new Runnable() {
@Override
public void run() {
if(postICS){
// toolbar.setTranslationX(iteration);
// toolbar.setElevation(iteration);
toolbar.setMinimumHeight(iteration * 5);
toolbar.getLayoutParams().height++;
}
uiThreadHanlder.postDelayed(this,16);
iteration++;
if(iteration>150)iteration=0;
}
};
Handler uiThreadHanlder=new Handler();
int iteration=0;
@Override
protected void onResume() {
super.onResume();
//launch the animation
uiThreadHanlder.postDelayed(toolBarAnimator, 1000);
}
@Override
protected void onPause() {
super.onPause();
//stop the animation
uiThreadHanlder.removeCallbacks(toolBarAnimator);
}
Araç çubuğu nerede:
araç çubuğu = (Araç Çubuğu) findViewById (R.id.toolbar);
Bunu yaparken şunları elde edersiniz:
ancak animasyondan ayrılırsanız devam edin:
Bu nedenle, araç çubuğunuzu android: layout_height öğesini wrap_content olarak ayarlamak çoğu durumda iyi bir seçenektir, çünkü Araç Çubuğu yüksekliğini içeriğine göre uyarlayacaktır (ve içeriği çalışma zamanında değiştirebilirsiniz :)
Ve bu aynı zamanda çalışma zamanında araç çubuğu boyutunuzu nasıl değiştireceğinizdir.
Eylem çubuğunda yaptığınız harika çalışma için Chris Banes'e teşekkürler.
boolean postICS = Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN;
layout_height
yolu kullanılıyorsa , muson tarafından burada açıklanan geçici çözümün de bir geçici çözüm olmadığını, ancak doğru yol olduğunu bekliyorum? code.google.com/p/android/issues/detail?id=77874