我有一个TextView,我用来自strings.xml中的字符串资源的文本填充。字符串资源包含

  • 元素,用于在TextView中创建项目符号列表。我的问题是我想控制项目符号列表中跨越多于一行的行的缩进。默认情况下,文本不会缩进项目符号的上方,因此看起来有点丑陋。是否可以使用样式参数执行此操作或以其他方式创建项目符号?

    提前致谢。

    编辑:
    真的回答了吗?如这些链接所述,我在生成项目符号列表方面没有任何问题,但是在正确设置布局时遇到了问题。缩进是这样的:
  • 超出宽度的文本
    的线。

  • 我希望“行首”至少从项目符号后的文本开始缩进。这就是我试图实现的目标。

    最佳答案

    我很惊讶似乎没有人遇到这个问题。我的意思是,项目符号列表在“关于对话框”,“常见问题解答”等中并不少见,并且项目符号不必包含太多文本即可跨越多行并遇到此问题。

    无论如何,我现在必须像这样解决它:

    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView
        android:id="@+id/ScrollViewTipsLayout"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        xmlns:android="http://schemas.android.com/apk/res/android">
    
        <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/TipsLayout"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
    
            <TableLayout
            android:layout_height="wrap_content"
            android:id="@+id/TableLayout01"
            android:layout_width="wrap_content"
        >
            <TableRow>
                <TextView android:id="@+id/tvIngress"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:text="@+string/tv_picking_content_ingress"
                    android:layout_span="2"
                    android:singleLine="false"
                    android:layout_weight="1"
                />
            </TableRow>
            <TableRow>
                <TextView android:id="@+id/tvCleaningDot1"
                    android:layout_height="wrap_content"
                    android:text="•"
                    android:singleLine="false"
                />
                <TextView android:id="@+id/tvCleaningFirst"
                    android:layout_height="wrap_content"
                    android:text="@+string/tv_picking_content_first"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:gravity="left"
                    android:singleLine="false"
                />
            </TableRow>
                <TextView android:id="@+id/tvCleaningDot2"
                    android:layout_height="wrap_content"
                    android:text="•"
                    android:singleLine="false"
                />
                <TextView android:id="@+id/tvCleaningSecond"
                    android:layout_height="wrap_content"
                    android:text="@+string/tv_picking_content_second"
                    android:layout_width="0dp"
                    android:layout_weight="1"
                    android:gravity="left"
                    android:singleLine="false"
                />
            </TableRow>
        </TableLayout>
    </RelativeLayout>
    

    我用它在项目符号列表中显示静态文本,因此不必费心在代码中动态创建项目符号+文本。如果有人对如何更好地完成同一件事有任何建议,请赐教。

    顺便说一句,如果要使用上面第二个链接中建议的解决方案:
    android:text="<ol><li>item 1\n</li><li>item 2\n</li></ol>
    

    项目符号中跨越第二行的第二行,第三行等不会获得与第一行相同的缩进,这很难看。

    关于android - 在TextView中缩进项目符号列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3715776/

    10-12 06:55