以编程方式设置远程ImageVIew的像素大小?
问题描述:
比方说,我有一个包含以编程方式设置远程ImageVIew的像素大小?
<ImageView
android:id="@+id/my_id"
android:layout_width="123px"
android:layout_height="345px"
android:padding="0dip"
android:scaleType="fitXY" />
这是在AppWidget使用,并通过RemoteViews设置
的布局。我如何以像素为单位以编程方式设置宽度和高度(覆盖上述xml中的123和345)? (动机:该图像视图显示了一个动态png文件,该文件在运行时通过文件URL设置,如果上面的layout_width和layout_height设置为wrap_content,图像将按照设备的密度()缩小显示。确切的像素宽度和高度解决了这个问题,但文件大小发生了变化,我不知道如何以编程方式设置它)。
答
你可以用不同的方式做到这一点。将ImageView放入LinerLayout中,并将ImageView的layout_width和layout_height设置为“fill_parent”。然后改变LinearLayout的宽度和高度。
我假设您了解应用程序窗口小部件大小规则。
谢谢Mbt925。如何通过RemoteViews设置LinearLayout的像素大小?顺便说一句,我使用API 8(是的,我熟悉小部件大小规则)。 – user1139880 2012-03-17 18:23:36
通过SetInt方法:'code' views.setInt(viewId,methodName,value)。使用LinearLayout的setMinimumHeight方法和width ...设置高度。 – Mbt925 2012-03-18 05:08:29
谢谢Mbt925。尝试它,并得到此运行时错误(在API 8下运行):W/AppWidgetHostView(430):android.widget.RemoteViews $ ActionException:view:android.widget.LinearLayout无法使用RemoteViews方法:setMinimumWidth(int)。任何其他想法? – user1139880 2012-03-18 16:26:42