Я использовал редактор макетов в eclipse, чтобы макетировать мой макет ui, а затем создал код для его динамического заполнения, и все выглядит как разные размеры. 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?