Я хочу реализовать изображение и текстовое поле рядом. Я достиг этого, используя XML. Однако я хотел достичь этого программно, но пока не повезло. Ниже приведены мои XML и Java-коды. Пожалуйста, помогите мне выполнить программно.Android - реализует представления программно
Я исполняю код Java во фрагменте.
CODE XML:
<RelativeLayout
android:id="@+id/rl1"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<com.loopj.android.image.SmartImageView
android:id="@+id/my_image1"
android:layout_width="160dip"
android:layout_height="100dip"
android:adjustViewBounds="true"
android:scaleType="fitXY"
/>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/my_image1"
android:layout_alignTop="@+id/my_image1"
android:layout_toRightOf="@+id/my_image1"
android:gravity="center_vertical"
/>
</RelativeLayout>
JAVA CODE:
RelativeLayout rl1 = new RelativeLayout(getActivity());
RelativeLayout.LayoutParams rlParams;
rlParams = new RelativeLayout.LayoutParams(
newLayoutParams(LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
rlParams.addRule(LinearLayout.VERTICAL);
rl1.setLayoutParams(rlParams);
SmartImageView siv1 = new SmartImageView(getActivity());
siv1.setId(rand.nextInt(50000) + 1);
siv1.setLayoutParams(new LayoutParams(width,height));
siv1.setAdjustViewBounds(true);
siv1.setScaleType(ScaleType.FIT_XY);
siv1.setImageUrl(Uri);
TextView tv1 = new TextView(getActivity());
RelativeLayout.LayoutParams relativeLayoutParams;
relativeLayoutParams = new RelativeLayout.LayoutParams(
RelativeLayout.LayoutParams.WRAP_CONTENT,
RelativeLayout.LayoutParams.WRAP_CONTENT);
tv1.setLayoutParams(relativeLayoutParams);
relativeLayoutParams.setMargins(10, 0, 0, 0);
tv1.setGravity(Gravity.CENTER_VERTICAL);
tv1.setText("Sample Text");
rl1.addView(siv1);
rl1.addView(tv1);
ll.addView(rl1);
При выполнении приведенного выше кода, я получаю изображение, но текст внутри изображения. Но, я хочу получить изображение слева и текст справа.
Заранее спасибо
Спасибо. Обертывание релятивирования в linearlayout работало –
@Lalith Mohan Это тоже сработает. Это большая разница, если что-то сработало и что-то сработало. Это вы избегаете этой проблемы, вопрос о том, подходит ли ваш путь, скорее является вопросом дизайна, ответы, которые ведут вас по-другому, иногда могут помешать вашей концепции. В следующий раз, если вы хотите, чтобы что-то просто работало, определите это, когда задаете вопрос. –
Спасибо Марко. Я ценю вашу обеспокоенность. –