在TextView旁边放置ImageView

3

我认为解决方案很显然,但由于我是安卓的新手,请见谅 :)

我想在视图的右上方放置一些图片和一个文本视图,该文本视图将适合视图的其余部分。这是我的操作:

<?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>

这是我的理解:

我得到了以下内容:

输入图像描述

我的问题:

1) 如何使TextView也适合ImageView下部?我不希望那里的空间被浪费。

2) 正如您所见,我使用了dip来放置ImageView。在这种情况下,您会推荐什么?我的意思是,如何编写以便所有屏幕大小都相同?或者使用dip可以吗?

3个回答

1

您需要使用 Spanned 接口。这里 有一个很好的例子


0

如果您不想留下空格,可以使用Spannable。例如:

    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。

我相信 dpdip 是同一回事。 - user1435913
是的,但我读了一些有关使用dip时出现问题的帖子。似乎并不是每个设备都接受dip。 - Opiatefuchs

0
1) 如何使TextView也适应ImageView的下部?我不想让那个空间浪费掉。
目前可用的布局方式无法实现文字环绕。但是您可以在WebView中显示HTML内容,甚至可以在TextView中使用Spanned-HTML。
2) 如您所见,我已经使用dip来放置ImageView。在这种情况下,您会推荐什么?我的意思是,如何编写代码,以便在所有屏幕尺寸上都能保持一致?或者dip就可以吗?
dip是设备独立像素。在不同的屏幕尺寸上,1 dip将占用不同数量的像素,但在视觉上,1 dip在所有屏幕上几乎看起来相同。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接