2016-04-21 19 views
0

Ich mache eine Anwendung, die eine benutzerdefinierte Benachrichtigungsleiste zeigt. Das Problem, dem ich gegenüberstehe, ist die ImageButton s in der Ansicht sind horizontal gestreckt.ImageButton in RemotesView erstreckt sich

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       android:orientation="horizontal" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:weightSum="4" android:gravity="center_horizontal"> 

    <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:id="@+id/a" 
      android:scaleType="centerInside" 
      android:background="@drawable/a"/> 
    <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:id="@+id/b" 
      android:scaleType="centerInside" 
      android:background="@drawable/b"/> 
    <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:id="@+id/c" 
      android:scaleType="centerInside" 
      android:background="@drawable/c"/> 
    <ImageButton 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:id="@+id/d" 
      android:scaleType="centerInside" 
      android:background="@drawable/d"/> 
</LinearLayout> 
.. 
RemoteViews rv = new RemoteViews(getPackageName(), R.layout.notification); 
notification.contentView = rv; 

Die Größe der Bilder, die ich verwendet, 72x72. Die Bilder sind noch schlimmer, wenn mein Gerät in den Querformat-Modus gekippt wird, da die Bilder dazu neigen, die Benachrichtigungsleiste zu füllen.
Gibt es eine Möglichkeit, sicherzustellen, dass Bilder gleichmäßig verkleinert werden und auch zwischen den einzelnen Bildfeldern einige Leerzeichen stehen, damit die Benachrichtigung besser aussieht?

Antwort

0

Für jeden, der ähnliche Frage hat, ist die Lösung zu fitCenter anstelle von centerInside in der android:scaleType Attribut.