将ImageView放在TextView旁边

时间:2012-12-01 14:24:26

标签: android textview imageview

我认为解决方案会非常明显,但只要我是Android新手,请原谅我:)

我想在视图的右上方放置一些图片,以及一个适合视图其余部分的textview。这就是我所做的:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

        <ImageView
            android:id="@+id/logo_in_listing"
            android:layout_width="100dip"
            android:layout_height="100dip"
            android:layout_alignParentRight="true"
            android:layout_marginRight="11dip"
            android:layout_marginTop="11dip"
            android:background="@drawable/border_for_imageview"
            android:src="@drawable/facebook_logo" />

          <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/someString"
            android:id="@+id/textview1"
            android:layout_toLeftOf="@id/logo_in_listing"
            android:layout_margin="3dip"/>

</RelativeLayout>

这是我得到的:

enter image description here

我的问题:

1)如何使textview也适合​​imageview的下半部分?我不希望这个空间不被使用。

2)如你所见,我使用dip来放置ImageView。在这种情况下你会推荐什么?我的意思是,如何以某种方式编写,对于所有屏幕尺寸都是一样的?或者dip可以吗?

3 个答案:

答案 0 :(得分:1)

您必须使用Spanned界面。 Here's一个很好的例子

答案 1 :(得分:0)

  

1)如何使textview也适合​​imageview的下半部分?一世   不要让那个空间闲置。

当前可用的布局无法使用文本流。但是,您可以在WebView中将内容显示为HTML,甚至可以在TextView中显示为跨越HTML。

  

2)如你所见,我已经使用蘸料放置ImageView。你会怎么   在这种情况下推荐?我的意思是,如何以某种方式写作,它将是   所有屏幕尺寸都相同?或者也许蘸可以吗?

Dip适用于与设备无关的像素。在不同的屏幕尺寸上,1 Dip将采用不同数量的像素,但在视觉上,所有屏幕上的1 dip将与眼睛几乎相同。

答案 2 :(得分:0)

如果您不想留空,可以使用spannables。例如:

    int TEXT_START  = 0;
    int TEXT_END = yourTextView.length();
    Spannable span = (Spannable) yourtextview.getText();
    span.setSpan(new AlignmentSpan.Standard(Alignment.ALIGN_CENTER), TEXT_START, TEXT_END,
            0);

对于你的第二个问题:使用dp代替dip。