如何以编程方式在窗口小部件上设置图像大小?我使用此代码更改图像但我如何设置大小?
RemoteViews updateViews = new RemoteViews(EditPreferences.this.getPackageName(), R.layout.widgetmain2);
updateViews.setImageViewBitmap(R.id.ImageView00, ((BitmapDrawable)EditPreferences.this.getResources().getDrawable(R.drawable.normal_black_op100)).getBitmap());
ComponentName thisWidget = new ComponentName(EditPreferences.this, HelloWidget.class);
AppWidgetManager manager = AppWidgetManager.getInstance(EditPreferences.this);
manager.updateAppWidget(thisWidget, updateViews);
Run Code Online (Sandbox Code Playgroud)
提前致谢
事实上,这是一个非常广泛的问题.它有多个答案:
通常你在layout.xml中设置适当的布局参数(width,height)和scaleType:http://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType .这可以处理很多情况 - 每当设置图像时,它的缩放将根据它的参数重新计算.
但有时您需要以编程方式执行此操作.但它更复杂,因为它需要考虑屏幕的密度和位图的密度,屏幕尺寸独立的像素大小等等.这里有两点:
例:
LinearLayout.LayoutParams layoutParams = new
LinearLayout.LayoutParams(width_physical_pixels, height_physical_pixels);
imageView.setLayoutParams(layoutParams);
Run Code Online (Sandbox Code Playgroud)
重要!这里的LinearLayout就是一个例子.它应该是ImageView的PARENT类 - 因此布局参数始终是对象容器的类型而不是它们所设置的对象的类型.
| 归档时间: |
|
| 查看次数: |
6968 次 |
| 最近记录: |