如何在textview之后添加数字和框架

时间:2017-07-27 15:41:22

标签: java android android-layout

我想在文本结尾后添加一个带框的数字(@ + id / number_ayat)(@ + id / isi_ayat),但如果我使用textview则不能。那么如何在文本结束后添加数字和帧?

这是我在custom_isi_ayat.xml

中的代码
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingBottom="10dp"
android:paddingTop="10dp"
>

<LinearLayout
    android:padding="10dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal">

        <TextView
            android:textSize="20dp"
            android:id="@+id/number_ayat"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:layout_marginRight="10dp"
            android:background="@drawable/frame"
            android:gravity="center" />
        <TextView
            android:gravity="left"
            android:textAlignment="textStart"
            android:id="@+id/isi_ayat"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textSize="30dp" />


    </LinearLayout>

    <TextView
        android:id="@+id/translate_bahasa"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <TextView
        android:paddingLeft="20dp"
        android:id="@+id/terjemahan"
        android:textStyle="italic"
        android:lineSpacingMultiplier="0.7"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</LinearLayout>

捕获结果中的

in capture result :

我希望结果是:and I want to result is

这是否可以用java解决?

提前感谢您解决我的问题!

1 个答案:

答案 0 :(得分:0)

我已在Android Studio中对布局进行了建模。我不得不强迫rtl在我的布局上,所以可能有一些事情要纠正。我提到的第一个是改变"@+id/isi_ayat"的宽度,如下所述。

我所做的更改如下:

在LinearLayout中,我将gravity设置为end,使文本视图显示在右侧。

对于android:id="@+id/isi_ayat",我将gravitytextAlignment设置为end,以便文本与TextView的结尾对齐,并将layout_gravity设置为{ TextView的{1}}和end也会结束。并且还将center_verticalwidth更改为match_parent

wrap_content

编辑我

我从<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:gravity="end"> <TextView android:textSize="20dp" android:id="@+id/number_ayat" android:layout_width="40dp" android:layout_height="40dp" android:layout_marginRight="10dp" android:gravity="center" tools:text="10"/> <TextView android:layout_gravity="end|center_vertical" android:gravity="end" android:textAlignment="gravity" android:id="@+id/isi_ayat" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="30dp" tools:text="lorem ipsum dolo asd"/> </LinearLayout> 删除了android:layout_marginRight="10dp"

如下图所示。两个文本视图之间没有更多空间。

这是您可以在不使数字的文本视图更小的情况下获得的最接近的结果。

enter image description here

编辑II

我想我明白了,如果有多行,那么这个数字必须在最后一行之后。

android:id="@+id/number_ayat"更改为android:gravity =&#34; end | bottom&#34;在

android:gravity="end"