首页 > 解决方案 > 可重复使用的 TextView 而不是复制粘贴(没有包含和没有样式)

问题描述

在我当前的项目中,我有大约 10 个几乎相同的按钮。我正在寻找一种方法来重用这些按钮的代码。

我试图将部分代码移动到单独的布局并通过 重用它<include... layout=...>,但没有成功。

我在项目中使用绑定,编译器不允许我将其View转换TextView为从代码中调用它。我试图移动部分代码并将其设置为样式。没办法 :-( 我这里有几个选择器(用于不同的状态,包括启用和禁用)。但是,它们不起作用。

<TextView
    android:id="@+id/tv_next_button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:enabled="true"
    android:layout_marginTop="20dp"
    android:layout_marginBottom="40dp"
    style="@style/Myfont_Bold"
    android:layout_gravity="center_horizontal"
    android:background="@drawable/selector_button_next_bg"
    android:drawablePadding="36dp"
    android:letterSpacing="-0.01"
    android:lineSpacingExtra="3sp"
    android:padding="@dimen/padding_15"
    android:text="@string/next"
    android:textColor="@drawable/selector_button_next_font"
    android:textSize="@dimen/text_16"
                        
    app:drawableEndCompat="@drawable/selector_button_next_arrow"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toBottomOf="@id/ll_switchers"/>

有任何想法吗?

我不想复制粘贴此代码 10 次。

标签: androidxmltextview

解决方案


为重用的样式视图创建一个样式并将其应用到它使用的每个布局中

<style name="MyCustomStyle" parent="DesiredParentStyleFromLibrary">
    <item name="attribute1">value</item>
    <item name="attribute2">value</item>
    <item name="attribute2">value</item>
// and so on
</style>

推荐阅读