我在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/