【问题标题】:set a different font for the fragments of a String为字符串的片段设置不同的字体
【发布时间】:2014-01-14 17:07:19
【问题描述】:

我想为字符串的片段设置不同的字体。

程序可以运行,但不是格式化字符串

请帮忙

这是我的代码:

...
    // List view
    private ListView lista;    
    // Listview Adapter
    ArrayAdapter<String> adapter;     
    // Search EditText
    EditText poleSearch;   
    // ArrayList for Listview
    ArrayList<HashMap<String, String>> productList;
...
List<String> customers = new ArrayList<String>();

        if(myCursor.getCount()!=0){
            myCursor.moveToFirst();         
            do{
                String myStringCode = "<big> "+myCursor.getString(0)+" </big> \n <small> Adres: "+myCursor.getString(1)+" </small>";
                Spanned spanned = Html.fromHtml(myStringCode);          
                customers.add( spanned.toString());

            }while(myCursor.moveToNext());
        }
        }
...

adapter = new ArrayAdapter<String>(this, R.layout.row_client, R.id.tvRC2, customers);
        lista.setAdapter(adapter);  
...

【问题讨论】:

    标签: android string listview android-fragments android-arrayadapter


    【解决方案1】:

    使用 Html 格式化字符串时,需要使用break 标签插入换行符。所以用&lt;br&gt;&lt;/br&gt;替换/n

    String myStringCode = "<big> "+myCursor.getString(0)+" </big> <br></br> <small> Adres: "+myCursor.getString(1)+" </small>";
    

    【讨论】:

    • 改成/n为
      ,但是没有效果:/
    • 字体大小:myCursor.getString(0)+myCursor.getString(1)
    【解决方案2】:

    您还可以使用 SpannableString 并为字符串的不同部分设置不同字体的跨度

    TypefaceSpan ts=new TypefaceSpan("<your font>");
        SpannableString s=new SpannableString("");
        s.setSpan(ts, 0, 3, 0);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-09-15
      • 1970-01-01
      相关资源
      最近更新 更多