我正在动态扩展视图以添加到线性布局。我面临的问题是,如果我从视图的XML中删除填充(我正在夸大),则会得到正确的结果。如果引用尺寸资源,则Imageview太小。目前,我正在通过消除填充来解决此问题,但我想问一下我为什么会发生这种情况以及我在哪里做错了。这是代码 查看“我正在充气”效果很好:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/iv_thumb"
android:layout_width="@dimen/thumb_image_size_width"
android:layout_height="@dimen/thumb_image_size_height"
android:background="@drawable/square_border_"
android:scaleType="fitXY"
android:text="" />
查看“我正在膨胀”不起作用:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/iv_thumb"
android:layout_width="@dimen/thumb_image_size_width"
android:layout_height="@dimen/thumb_image_size_height"
**android:padding="@dimen/ultra_narrow"**
android:background="@drawable/square_border_"
android:scaleType="fitXY"
android:text="" />
用于将此ImageView膨胀并添加到LinearLayout的Java代码:
LinearLayout _attachmentPane = findViewById(R.id._attachments_pane);
LayoutInflater inflater = (LayoutInflater) DetailActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE);
ImageView iv_thumb = (ImageView) inflater.inflate(R.layout.image_view_thumb, _attachmentPane, false);
...
Glide.with(DetailActivity.this).load(url_thumb).into(iv_thumb);
...
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
params.setMargins(20,20,20,20);
_attachmentPane.addView(iv_thumb, params);
编辑: 有时,我也会得到参考尺寸的正确结果。这是与Glide或Android有关的问题吗?因为我正在使用Glide从Web加载图像。 附加输出: 具有参考的填充尺寸:@ dimen / ultra_narrow