我正在Android上创建一些appwidgets。我还想重新使用appwidgets的布局,这样我就可以在我的活动中进行控制,所以它看起来是一样的。
因此,我所遇到的问题是我希望得到相同尺寸的尺寸。
这是小部件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大小与控件大小的大小不同。
问题是我如何得到它。我在控制器中指定了以下内容以使其大小相同但不正确
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));
答案 0 :(得分:0)
将appwidget的根布局设置为FrameLayout(仅作为示例),和 将您的控件作为它的子项放在LinearLayout中。然后为LinearLayout指定您的大小。
appwidget-provider中的维度不适用于确切的大小。