以编程方式设置远程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的宽度和高度。

我假设您了解应用程序窗口小部件大小规则。

+0

谢谢Mbt925。如何通过RemoteViews设置LinearLayout的像素大小?顺便说一句,我使用API​​ 8(是的,我熟悉小部件大小规则)。 – user1139880 2012-03-17 18:23:36

+0

通过SetInt方法:'code' views.setInt(viewId,methodName,value)。使用LinearLayout的setMinimumHeight方法和width ...设置高度。 – Mbt925 2012-03-18 05:08:29

+2

谢谢Mbt925。尝试它,并得到此运行时错误(在API 8下运行):W/AppWidgetHostView(430):android.widget.RemoteViews $ ActionException:view:android.widget.LinearLayout无法使用RemoteViews方法:setMinimumWidth(int)。任何其他想法? – user1139880 2012-03-18 16:26:42