android - 可重复使用的 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 次。
解决方案
为重用的样式视图创建一个样式并将其应用到它使用的每个布局中
<style name="MyCustomStyle" parent="DesiredParentStyleFromLibrary">
<item name="attribute1">value</item>
<item name="attribute2">value</item>
<item name="attribute2">value</item>
// and so on
</style>
推荐阅读
- gstreamer - 将 GstBuffer 列表推送到下一个下游元素
- batch-file - 如何对齐相邻列中的重新查询输出
- php - 将文件上传到 CMSoctober 显示 0 字节 - 问题
- azure - 面对原因:java.net.UnknownHostException:login.microsoftonline.com
- android - 如何解决此“无法在运行时权限之前触发默认处理程序提示”
- vue.js - Vue 3 - 货币输入过滤器
- python - 带有代码管道错误的 AWS CI CD - 附加日志
- php - jQuery ajax 将变量传递给 php 会话,但 php 会话不存储它
- ios - IOS 14 中未显示 JSQMessageViewController 的集合单元格中的媒体项
- c++ - 附加调试器给我凭据,删除它并且凭据为空