android - 上面有形状的android特殊按钮主题
问题描述
我正在尝试创建一个看起来像这样的按钮:
所以我创造了这种风格:
<style name="button_main" parent="@android:style/Widget.Button">
<item name="android:gravity">center_vertical|center_horizontal</item>
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:shadowColor">#FF000000</item>
<item name="android:shadowDx">0</item>
<item name="android:shadowDy">-1</item>
<item name="android:shadowRadius">0.2</item>
<item name="android:textSize">16dip</item>
<item name="android:textStyle">bold</item>
<item name="android:background">@drawable/button_main</item>
<item name="android:focusable">true</item>
<item name="android:clickable">true</item>
</style>
并将其应用于按钮:
<Button
android:id="@+id/btnConnect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CONNECT"
style="@style/button_main"
android:drawableTop="@drawable/ic_connect"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_home" />
但这是我的结果:
知道如何将绿色背景添加到文本中吗?以及如何将白色添加到图标?
解决方案
如何为图标添加白色色调?
app:drawableTint="@color/white"
编辑:
在下面创建单独TextView
的内部根布局以button
试试这个:
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@color/green">
<Button
android:id="@+id/btnConnect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/button_main"
android:drawableTop="@drawable/ic_wifi_24"
app:drawableTint="@color/white"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
android:layout_margin="@dimen/margin_12dp"
app:layout_constraintTop_toBottomOf="@+id/text_home" />
<TextView
android:id="@+id/tvConnect"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/white"
app:layout_constraintTop_toBottomOf="@id/btnConnect"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
android:text="Connect"/>
</androidx.constraintlayout.widget.ConstraintLayout>
上面的代码将给出预期的结果,可能是您必须调整 padding n margin lil bit 。
推荐阅读
- mysql - 如何仅根据所选列的更新自动制作列更新时间戳?
- mysql - MYSQL - 8.0.13 - VIEW_DEFINITION 列上的值,来自 information_schema.VIEWS,仅显示给视图创建者
- c# - 在工作时在单独的线程上显示带有微调器的加载屏幕,ShowDialog 有效,但 Show 无效
- ruby-on-rails - Ruby on Rails Devise Always localhost: 3000 将被重定向
- api - 如何向 RESFULL API 发出 https POST Web 请求?
- ios - 由于模拟器错误,退回到从 NSUserDefaults 加载/存储访问令牌
- php - 将特殊字符插入 WordPress postmeta
- python-3.x - 运行时检查类的实例是否存在
- javascript - 如何将 window 设置为 undefined 以便在同构应用程序中测试 SSR 渲染?
- node.js - 条件中异步函数调用的最佳回调方法