格式化项目符号列表

时间:2014-06-07 17:50:16

标签: android android-layout android-fragments

我有一个带子弹的简单段落。

我如何缩小我的整个项目清单:

这里有一些文字..
•第1项 •第2项 •第3项

这里有一些文字..
•此处的第1项文本文本此处为文本
这里的文字在这里文字在这里

•第2项 这里的文字在这里文字在这里

•第3项 这里的文字在这里发短信

BTW,我正在使用这些代码:

for (int i = 0; i < bulletListArray.length; i++) {
            String text = bulletListArray[i];
            SpannableString s = new SpannableString(text + "\n");
            // s.setSpan(new BulletSpan(), 1, text.length(),
            // Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            s.setSpan(new BulletSpan(10), 0, text.length(), 0);
            allText = TextUtils.concat(allText, s);

我赞美你的帮助!

感谢。

3 个答案:

答案 0 :(得分:0)

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

您应该看到here

答案 1 :(得分:0)

编辑我的回答:抱歉,我没有意识到strings.xml不支持<ul> and <li>

你能不能只在你的字符串前面留空格?

在这里

而不是: SpannableString s = new SpannableString(text + "\n");

尝试使用:SpannableString s = new SpannableString(text + "\n ");

或者,如果您希望它完全是TAB的缩进,您可以执行以下操作: SpannableString s = new SpannableString(text + "\n\t");

编辑:刚测试用以下内容构建字符串:

<string name="dummy_string">
    <p> Here is some text! </p> \n\t
        &#8226; item one \n \t
         &#8226; item two \n \t
        &#8226; item three\n \t
</string>

完美的工作。带缩进的项目符号列表:P

答案 2 :(得分:0)

for (int i = 0; i < bulletListArray.length; i++) {
    TextView tv = (TextView)findViewById(idList[i]); //ex: R.id.tv1,R.id.tv2....
    CharSequence cs = bulletListArray[i];
    SpannableString ss = new SpannableString(cs);
    ss.setSpan(new BulletSpan(15), 0, cs.length(), 0);
    mTv.setText(ss);
}