可重复使用的 TextView 而不是复制粘贴(没有包含和没有样式)

Posted

技术标签:

【中文标题】可重复使用的 TextView 而不是复制粘贴(没有包含和没有样式)【英文标题】:Reusable TextView instead of copy-paste(without include and without style) 【发布时间】:2021-02-15 14:04:09 【问题描述】:

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

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

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

<TextView
    android:id="@+id/tv_next_button1"
    android:layout_
    android:layout_
    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 次。

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

我试图移动部分代码并将其设置为样式 - 没办法 :-( 我这里的选择器很少(用于不同的状态 - 启用和禁用) - 他们没有使用风格

以上是关于可重复使用的 TextView 而不是复制粘贴(没有包含和没有样式)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用复合可绘制对象而不是包含 ImageView 和 TextView 的 LinearLayout

TextView实现选中复制到系统粘贴板

文本可以在 textView 中选择但不可编辑

win11复制粘贴改成贴经典模式

在 Python 中剪切和粘贴文件或目录 [重复]

您如何设置 python 项目以便能够发送给其他人,而无需他们手动将代码复制并粘贴到编辑器中 [重复]