2013-07-06 5 views
1

Я пытаюсь настроить флажки для своего приложения для Android, и у меня есть проблема: я правильно настроил свои флажки, и они работают неплохо, но, поскольку пространство для они сделаны с весом, я получил проблему для маленького экрана, потому что изображение всегда одно и то же (и для маленького экрана, оно слишком велико). Мне просто интересно узнать, как связать размер моей картинки с dimens.xml, чтобы получить что-то приятное: p Существует этот вопрос о Starkoverflow, но это просто ответ, который не работает, потому что @drawable/... doesn работайте с шириной и высотой атрибутов.Флажок и изменение размера drawable (* .png) в android XML

Если вы хотите, вот код:

Drawable @ Drawable/Facebook

<?xml version="1.0" encoding="utf-8"?> 
    <selector xmlns:android="http://schemas.android.com/apk/res/android" > 
     <item android:state_checked="false" android:drawable="@drawable/fck_inactive" /> 
     <item android:state_checked="true" android:drawable="@drawable/fck_active" /> 
     <item android:drawable="@drawable/fck_inactive" /> 
    </selector> 

XML FILE часть layout.xml

<LinearLayout 
         android:orientation="horizontal" 
       android:layout_width="fill_parent" 
       android:layout_height="0dp" 
       android:layout_weight="0.4" 
       android:background="@drawable/white_rectangle"> 
     <CheckBox 
       android:id="@+id/facebook" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:button="@drawable/facebook" /> 
+0

Добавить другую версию в свои изображения в выпадающие папки –

+0

Вы пытались использовать пропорциональный андроид: scaletype для вашей CheckBox? Если это не вариант, вы можете создавать отдельные папки для разных размеров изображений. Таким образом, @ drawable/fck_inactive и @ drawable/fck_active могут быть сохранены в папках с именем «drawable-xdpi». Смартфон автоматически отобразит изображение из папки, которая имеет наилучший размер/разрешение. – Horschtele

+0

Да, спасибо им обоим, вот что я сделаю! Я просто искал что-то более чистое и легкое! :) –

ответ

2

Так что, если я правильно это понимайте, вы хотели бы, чтобы фон был правильно установлен на вашем флажке фактический размер флажка.

Моим решением было бы установить поле android:button null и установить флажки в поле android:background этого флажка.

Ваш код будет затем стать:

<CheckBox 
    android:id="@+id/facebook" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:button="@null" 
    android:background="@drawable/facebook" /> 

ли это, сделать трюк?

+0

Это правильно. – neferpitou

Смежные вопросы