代码之家  ›  专栏  ›  技术社区  ›  GMX

如何使用此特定属性以编程方式创建TextView?

  •  0
  • GMX  · 技术社区  · 8 年前

    LinearLayout myLayout = (LinearLayout) activity.findViewById(R.id.ll1);
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT,    LinearLayout.LayoutParams.WRAP_CONTENT);
    
    for(int l=0; l<4; l++)
        {
            pairs[l] = new TextView(context);
            pairs[l].setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
            pairs[l].setLayoutParams(lp);
            pairs[l].setId(l);
            pairs[l].setText("asd");
            myLayout.addView(pairs[l]);
        }
    

    现在我想将此属性设置为所有文本视图:

    • FontFamily:草书
    • SetTextSize不是sp而是dp(已解析)

    当我以编程方式创建文本视图时,我找不到设置这些属性的方法,我该怎么做?

    3 回复  |  直到 8 年前
        1
  •  2
  •   clownba0t    8 年前

    可以使用设置dp中的文本大小 setTextSize(TypedValue.COMPLEX_UNIT_DIP, <float>) https://developer.android.com/reference/android/widget/TextView.html#setTextSize(int

    至于字体系列,恐怕我不知道-希望其他人可以帮助您:)

        2
  •  1
  •   Community Romance    7 年前

    要更改文本视图的字体族,请使用 setTypeface

    例如:

    Typeface tf = Typeface.create("cursive", Typeface.NORMAL);
    for(int l=0; l<4; l++)
    {
        pairs[l] = new TextView(context);
        pairs[l].setTypeface(tf);
        ...
    }
    

    此外,这可能会引起以下兴趣: How to change fontFamily of TextView in Android

        3
  •  0
  •   skynet    8 年前

    您可以使用Typeface对象设置字体。

    TextView tv = new TextView(context);
    Typeface face = Typeface.createFromAsset(getAssets(),
           "fonts/filename.ttf");
    tv.setTypeface(face);
    

    将字体放在项目的资产文件夹中。