我正在以编程方式生成一个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);