2013-05-29 4 views
2

У меня есть код ниже.Виджет растягивается на главном экране.

В моем файле манифеста.

<receiver android:name=".ButtonWidget" android:label="@string/app_name"> 
      <intent-filter> 
       <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
       <!-- Broadcast Receiver that will also process our self created action --> 
       <action android:name="<package name>.android.widget.buttons.ButtonWidget.ACTION_WIDGET_RECEIVER"/> 
      </intent-filter> 
      <meta-data android:name="android.appwidget.provider" android:resource="@xml/appwidget" /> 
     </receiver> 

В моей xml папке appwidget файл.

<?xml version="1.0" encoding="utf-8"?> 
<appwidget-provider 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minHeight="40dp" 
    android:minWidth="40dp" 
    android:updatePeriodMillis="0" 
    android:initialLayout="@layout/widget_layout" 

> 
</appwidget-provider> 

и ниже - мой widget_layout файл.

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="40dp" 
    android:layout_height="40dp" 
    android:gravity="center" 
    android:orientation="horizontal" 
> 
    <Button 
     android:id="@+id/widget_ibtn_onoff" 
     android:layout_width="0dp" 
     android:layout_height="fill_parent" 
     android:background="@drawable/widget" 
     android:layout_weight="1" 
    /> 

</LinearLayout> 

В drawablewidget размер, как показано ниже.

drawable-hdpi - 60px 
drawable-ldpi - 30px 
drawable-mdpi - 40px 
drawable-xhdpi - 80px 

В моей галактике nexus выглядит как скриншоты ниже. enter image description here

Благодаря Гириш

+0

Его показать совершенный в Android 2.3, но не совершенен в Android 4+ может его использовать заполнение или запас, так его натяжкой, но я не знаю об этом пространстве. \ –

+0

Каковы размеры (ширина X высота) вашего изображения? – ozbek

+0

Я уже писал в своем вопросе. drawable-hdpi - 60px drawable-ldpi - 30px drawable-mdpi - 40px drawable-xhdpi - 80px –

ответ

1

Попробуйте это для макета:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:gravity="center" 
    android:orientation="horizontal"> 

    <Button 
     android:id="@+id/widget_ibtn_onoff" 
     android:layout_width="40dp" 
     android:layout_height="40dp" 
     android:background="@drawable/widget" /> 

</LinearLayout> 
+0

Да, это прекрасно. Большое спасибо крышке башмака. Какой размер я должен определить, хочу ли я виджета 2x2? –

+0

Я установил его на 80 д.п. и его внешний вид выглядел нормально. –

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