Android-以编程方式实现视图

Android-以编程方式实现视图,android,android-layout,Android,Android Layout,我想同时实现imageview和textview。我通过使用XML实现了这一点。然而,我想通过编程实现这一点,但迄今为止运气不佳。下面是我的XML和Java代码。请帮助我以编程方式执行 我正在片段中执行Java代码 XML代码: <RelativeLayout android:id="@+id/rl1" android:orientation="vertical" android:layout_width="fill_parent"

我想同时实现imageview和textview。我通过使用XML实现了这一点。然而,我想通过编程实现这一点,但迄今为止运气不佳。下面是我的XML和Java代码。请帮助我以编程方式执行

我正在片段中执行Java代码

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>
通过执行上面的代码,我得到了图像,但是文本在图像中。但是,我想得到左边的图像和右边的文本


提前感谢

您可以这样设置文本的边距

relativeLayoutParams.setMargins(200, 0, 0, 0);
但这不是最好的做法,所以只需做一件事,将线性布局集方向设置为水平,将imageview和textview添加到其中,然后将此线性布局添加到相对布局中。
希望这有帮助。

您可以这样设置文本的边距

relativeLayoutParams.setMargins(200, 0, 0, 0);
但这不是最好的做法,所以只需做一件事,将线性布局集方向设置为水平,将imageview和textview添加到其中,然后将此线性布局添加到相对布局中。
希望这有帮助。

在活动中添加以下代码:

rlParams.addRule(RelativeLayout.ALIGN_TOP, siv1);
rlParams.addRule(RelativeLayout.ALIGN_BOTTOM, siv1);
rlParams.addRule(RelativeLayout.RIGHT_OF, siv1);
tv1.setLayoutParams(rlParams);
然后做:

rl1.addView(siv1);
rl1.addView(tv1);

希望这有帮助。

在活动中添加以下代码:

rlParams.addRule(RelativeLayout.ALIGN_TOP, siv1);
rlParams.addRule(RelativeLayout.ALIGN_BOTTOM, siv1);
rlParams.addRule(RelativeLayout.RIGHT_OF, siv1);
tv1.setLayoutParams(rlParams);
然后做:

rl1.addView(siv1);
rl1.addView(tv1);

希望这有帮助。

在您的情况下,最好使用水平线性布局:


在您的情况下,最好使用水平线性布局:


在RelativeLayout中对齐视图非常困难。我建议您使用TableRows或LinearLayouts。这两种方法都提供了并排对齐视图的简便方法。这是一个源,其中一个TextView左对齐,四个ImageView右对齐。你可以从中得到一些想法
在RelativeLayout中对齐视图非常困难。我建议您使用TableRows或LinearLayouts。这两种方法都提供了并排对齐视图的简便方法。这是一个源,其中一个TextView左对齐,四个ImageView右对齐。你可以从中得到一些想法

这是一个很好的答案,您缺少XML中的规则,android:layout_alignBottom=@+id/my_image1 android:layout_alignTop=@+id/my_image1 android:layout_toRightOf=@+id/my_image1,Gagan告诉您如何设置这些规则。不客气,我喜欢相应的直接问题和答案,而不仅仅是一些变通方法。解决方法是当你绝望的时候,需要一些东西来工作。这是一个很好的答案,你缺少XML中的规则,android:layout\u alignBottom=@+id/my\u image1 android:layout\u alignTop=@+id/my\u image1,Gagan告诉你如何设置它们。欢迎你,我喜欢直接的问题和相应的答案,而不仅仅是一些变通方法。解决方法是当你绝望时,需要一些东西来工作。@Lalith Mohan这也会起作用的。如果某件事起作用了,而某件事按你的方式起作用了,这是一个很大的区别。这是你在回避问题,你的方式是否恰当的问题更像是一个设计问题,引导你走向另一种方式的答案有时会干扰你的概念。下一次如果你想让某样东西发挥作用,那么在你问问题的时候就定义一下。谢谢Marko。我很感激你的帮助concern@Lalith莫汉,这也会起作用的。如果某件事起作用了,而某件事按你的方式起作用了,这是一个很大的区别。这是你在回避问题,你的方式是否恰当的问题更像是一个设计问题,引导你走向另一种方式的答案有时会干扰你的概念。下一次如果你想让某样东西发挥作用,那么在你问问题的时候就定义一下。谢谢Marko。我感谢你的关心