将样式设置为Textview编程不起作用



我正在以编程方式生成一个Textview。我正在使用一个布局文件来扩展TextView。问题是,并不是所有的样式项都应用于TextView(android:layout_margin(,这是我的错吗?

这是我在AppTheme 中定义的样式

<style name="Theme.CampApp.TextItem" parent="TextAppearance.Material3.BodyMedium">
<item name="android:textSize">32dp</item>
<item name="android:background">@drawable/rounded</item>
<item name="android:padding">@dimen/textItemPadding</item>
<item name="android:layout_margin">32dp</item>
</style>

这是我的布局文件

<com.google.android.material.textview.MaterialTextView
xmlns:android="http://schemas.android.com/apk/rses/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Theme.CampApp.TextItem">
</com.google.android.material.textview.MaterialTextView>

这是生成TextView 的代码

val textItem = layoutInflater.inflate(R.layout.text_view_item_layout ,null) as TextView
textItem.setTextAppearance(R.style.Theme_CampApp_TextItem)
val params = RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT ,RelativeLayout.LayoutParams.WRAP_CONTENT )
textItem.layoutParams = params
textItem!!.id = View.generateViewId()

试试这个:

textView.setTextAppearance(this, R.style.MyTextStyle);

相关内容

  • 没有找到相关文章

最新更新