在min API 17

时间:2016-02-16 17:13:38

标签: android

点击按钮btn1后会添加一行。我想将其文字外观更改为MEDIUM

无法应用ERROR-setTextAppearance

btn1.setOnClickListener(new View.OnClickListener() {
                                            @Override
                                            public void onClick(View v) {


                                                    TableRow row1 = new TableRow(create_form.this);
                                                    TextView txt1 = new TextView(create_form.this);
                                                    EditText edttxt1 = new EditText(create_form.this);

                                                    txt1.setText("Topic");
                                                    txt1.setTextColor(Color.parseColor("#000000"));
                                                     txt1.setTextAppearance(android.R.style.TextAppearance_Medium);**//ERROR ,NOT WORKING**,Call requires API level23(current min is 17)





                                                    row1.addView(txt1);
                                                    row1.addView(edttxt1);

                                                    t1.addView(row1);

                                                }

                                            }


                });

3 个答案:

答案 0 :(得分:0)

API级别23以下使用:

txt1.setTextAppearance(this, android.R.style.TextAppearance_Medium);

从API 23开始,您不需要传递上下文参数。因此,您只需致电:

txt1.setTextAppearance(android.R.style.TextAppearance_Medium);

答案 1 :(得分:0)

或者,除了Rohit Sharma的回复之外,您还可以为textViews定义自定义样式并以编程方式设置它们,这样就可以了。“假设您的风格是这样的:

<style name="MyStyle" parent="@android:style/Widget.TextView">
    <item name="android:textStyle">bold</item>
     <item name="android:textAppearance">?android:textAppearanceSmall</item>
     <item name="android:typeface">sans</item>
     <item name="android:textColor">@android:color/white</item>
    ...
</style>

TextView textViewTitle = (TextView) findViewById(R.id.text_view_title); // Your TextView
textViewTitle.setTextAppearance(this, R.style.MyStyle);

好处是您可以设置其他重要属性,如textSize,fontface,textColor,...只需调用一次。 setTextAppearance 方法

答案 2 :(得分:0)

找到了它的替代解决方案 -

而不是将textappearance更改为字体大小  txt1.setTextSize(TypedValue.COMPLEX_UNIT_SP,18);

18sp =中等文字外观。