Member 12923973 Ответов: 0

Я не могу сделать экран-виджет обведенным кружком.


Привет, я создаю простой виджет часов в android, и я хочу, чтобы часы были в форме круга.
Я определил appwidgetprovider
<?xml version="1.0" encoding="utf-8"?> <appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:initialLayout="@layout/clock__widget" android:minHeight="146dp" android:minWidth="146dp" android:minResizeHeight="146dp" android:minResizeWidth="146dp" android:previewImage="@drawable/example_appwidget_preview" android:resizeMode="horizontal|vertical" android:updatePeriodMillis="1800000" android:widgetCategory="home_screen">
</appwidget-provider>

и еще clock__widget.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/widget_background">
<TextView

    android:id="@+id/digital"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_centerHorizontal="true"

    android:layout_centerVertical="true"

    android:layout_margin="8dp"

    android:textColor="#ffffff"

    android:textSize="24sp"

     />
<TextView

    android:id="@+id/date"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:layout_centerHorizontal="true"

    android:layout_centerVertical="true"

    android:layout_below="@+id/digital"

    android:textColor="#ffffff"

    android:textSize="20sp"

    />
</RelativeLayout>

и в этом xml файле я определил форму которая является фоном для моих часов:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > <solid android:color="#2196F3" /> <stroke android:width="6dp" android:color="#FFFFFF" />
</shape>

и проблема в том, что часы становятся яйцеобразными, как на фото ниже, а не обведенными кружком, как я хочу.
http://imgur.com/a/cMyXM
Может ли кто-нибудь сказать мне, что я должен делать? Любая помощь приветствуется! Если вы хотите, чтобы я включил другие файлы, такие как appwidget-provider.java в этой теме, пожалуйста, дайте мне знать.

Что я уже пробовал:

Я попытался получить размер виджета и изменить размер фигуры в соответствии с размером виджета.
<pre lang="java"><pre lang="java">
protected void resize(Context context, int appWidgetId){
AppWidgetManager manager = AppWidgetManager. getInstance(контекст) ;
Расслоение расслоение;
bundle = manager. getInstance(context). getAppWidgetOptions(appWidgetId);
int min_widthdb = bundle. getInt(менеджер.OPTION_APPWIDGET_MIN_WIDTH);
int max_widthdb = bundle. getInt(менеджер.OPTION_APPWIDGET_MAX_WIDTH);
int min_heightdb = bundle. getInt(менеджер.OPTION_APPWIDGET_MIN_HEIGHT);
int max_heightdb = bundle. getInt(менеджер.OPTION_APPWIDGET_MAX_HEIGHT);
GradientDrawable др = (GradientDrawable) ресурсов.getSystem().getDrawable(Р. холст.widget_background);
dr. setSize(50, 50);



}

0 Ответов