我在Eclipse中使用布局编辑器模拟了我的用户界面布局,然后创建了代码来动态填充它,但是一些东西的显示大小不同。我用于添加星形图像的XML如下:
<ImageView
android:src="@drawable/star_gold"
android:layout_height="22sp"
android:layout_width="22sp"
android:adjustViewBounds="true"
android:layout_marginLeft="2sp"
android:layout_marginRight="2sp" />
而我用来实现相同功能的 Java 代码如下:
ViewGroup.MarginLayoutParams layout = new ViewGroup.MarginLayoutParams(22, 22);
layout.setMargins(2, 0, 2, 0);
ImageView star = new ImageView(mContext);
star.setImageResource(R.drawable.star_gold);
star.setLayoutParams(layout);
star.setAdjustViewBounds(true);
holder.Stars.addView(star);
在G1上运行我的应用程序时,一切都排列整齐,看起来很好,但是当我在Droid上运行它时,通过Java添加的星星大小只有我在XML中添加的一半。 我需要做什么才能确保所有内容都按比例缩放?
编辑: 这些都是很好的回答,但我需要知道如何从代码中解决问题。 当我设置大小时,它是以原始像素为单位的,有没有办法以dip为单位设置大小?