android tablelayout文本像素化

时间:2014-03-27 10:44:06

标签: android android-tablelayout

我正在以编程方式将单元格添加到表格视图中:

for(int i=0; i<numRows; i++){
        TableRow tr=new TableRow(mContext);
        tr.setLayoutParams(tableParams);
        for(int j=0; j<numCols; j++){
            LinearLayout ll = new LinearLayout(mContext);
            ll.setOrientation(LinearLayout.VERTICAL);
            ll.setGravity(Gravity.CENTER_HORIZONTAL);

            ImageView iv = new ImageView(mContext);
            LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30);
            iv.setLayoutParams(layoutParams);
            iv.setBackgroundResource(R.drawable.angry_cat);

            TextView tv = new TextView(mContext);
            tv.setText("some");
            tv.setTextSize(7f);
            tv.setTextColor(Color.WHITE);

            ll.addView(iv);
            ll.addView(tv);
            tr.addView(ll);
        }
        table.addView(tr);
    }

但文字出现了像素化: cats

如何定义文本更顺畅?

3 个答案:

答案 0 :(得分:0)

我认为您的问题位于此处:tv.setTextSize(7f); 例如,尝试将值更改为14,而不是响应更改的内容。

编辑: 你应该使用7.0f而不是7f

EDIT1: 试试这段代码:

textView.setTextSize(TypedValue.COMPLEX_UNIT_PX, getResources().getDimension(R.dimen.textsize));
create dimen folder like this res/values/dimensions.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="textsize">8sp</dimen>
</resources>

答案 1 :(得分:0)

从Color xml文件更改颜色。 像那样:

color.xml

<color name="white">#ffffff</color>

然后获得颜色:

tv.setTextColor(getResources().getColor(R.color.white));

答案 2 :(得分:0)

试试这个:

tv.setTextAppearance(this,android.R.style.TextAppearance_Small);