10

Bazı özel remoteViews oluşturuyorum, tam genişliğe ihtiyaç duyduğum bildirim panelinin genişliğinde bir bitmap'e özel görünümler ve düzenler çizmek için.Android bildirim paneli genişliğini alın

Her satıcı bildirim panelinin genişliğini değiştirdikçe ve çoğu durumda yönlendirmeye bağlı olarak değişeceğinden, bunun üzerinde düzenli bir kalıp bulmak zordur.

Genişliğini elde etmenin bir yolu var mı?

enter image description here enter image description here

pembe kısmı saf remoteViews ve alt bölüm I ebeveyn genişliğe sahip değil, çünkü tüm alt görünümler birbirine çökmeye olsun, bu benim özel bir görünüm çizmek bir imageview olduğunu .

+1

Bunu sunan herhangi bir API'nın farkında değilim ve herhangi bir korsan hakkında şüpheci olurdum. Örneğin, Chrome OS'deki (Android uygulamaları tarafından yükseltilen) bildirimler, normal Android ortamlarında bildirim gölgesinden biraz farklı olan Chrome OS bildirimleri alanına gider. – CommonsWare

+0

Aynı soruna sahip – Mahfa

+0

Belki de bunun için kodunuzu paylaşabilirsiniz? – Sodiq

cevap

0

Sen özel düzenini kolay yolu android:orientation="horizontal" ve android:layout_width="match_parent" ile LinearLayout kullanmaktır

+3

Sanırım, bu kod mevcut ekranın maksimum genişliğini ve yüksekliğini sağlayacak. Bildirim paneli genişliği değil. – Akshay

+0

belki [bu] (http://stackoverflow.com/questions/3355367/height-of-statusbar/3356263#3356263) sorunuzu cevaplayacaktır. – ZeroOne

+0

Bu kesinlikle bildirimlerin boyutu değil. Tabletler için yanlış boyut verecektir. Ve bunun da doğru olması için gelecek için bir garanti var. – tasomaniac

2

hesaplamak için özel düzenini

DisplayMetrics displaymetrics = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 
int height = displaymetrics.heightPixels; 
int width = displaymetrics.widthPixels; 

Kullanım genişliği genişliği almak ve hesaplamak için bu deneyin ve yapabilirsiniz Bu düzendeki her görünüm için android:layout_weight="1" ve android:layout_width="0dp" ekleyin. Bu, bu düzendeki her görünümün aynı genişliğe sahip olacağı anlamına gelir. Daha fazla bilgi için here'u okuyabilirsiniz.

GÜNCELLEME: here'da, bildirim tepsisi genişliğinin 478dp olduğunu söylüyor. Yani, bununla dene. Belki bazı üreticilerin farklı büyüklükleri vardır, ama bu :) ile başlamak için iyi bir sayıdır.

+0

Piksel olarak panelin tam genişliğine ihtiyacım var :) – Mahfa

+0

Neden tam genişliğe ihtiyacınız var? Görünümlerin boyutunu manuel olarak hesaplamak asla iyi bir fikir değildir. –

+0

Resim indirme görevimdeki bitmap boyutunun hesaplanmasına ihtiyacım var @Vladimir – Mahfa