我在android上创建了几个appwidgets。我还想重用appwidgets的布局,以便可以在活动中进行控制,使其外观相同。

为了使工作正常,我遇到的问题是我希望获得相同尺寸的尺寸。

Appwidget Image

Activity Image

这是小部件xml

<?xml version="1.0" encoding="utf-8"?>
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
    android:minHeight="72dp" android:initialLayout="@layout/sitewidget"
    android:minWidth="146dp" android:updatePeriodMillis="60000"
    android:configure="com.leaflabs.jaws_editor.SiteWidgetConfigure">
</appwidget-provider>


如您所见,appwidget的大小与控件的大小并不完全相同。

问题是我如何获得相同的结果。我在控件ctor中指定了以下内容,以使其具有相同的大小,但不正确

Resources r = context.getResources();

float width = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
                146, r.getDisplayMetrics());

float height = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
                72, r.getDisplayMetrics());

setLayoutParams(new LinearLayout.LayoutParams((int) width, (int) height));

最佳答案

将appwidget的根布局设置为FrameLayout(仅作为示例),然后
将控件作为它的子级放置在LinearLayout中。然后为该LinearLayout指定尺寸。

appwidget提供程序中的尺寸不适用于确切的尺寸。

关于android - Android AppWidget大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5219662/

10-10 01:46