Android,在工具栏布局中将“背景可绘制”设置为“可绘制”

时间:2019-09-14 12:27:50

标签: android android-layout android-toolbar android-collapsingtoolbarlayout

我正在使用带有图像的折叠工具栏布局,在该图像的顶部,我想显示两个按钮(向上和共享按钮)。我的问题是我正在从服务器检索显示的图像,因此无论我为按钮选择什么颜色,都有可能按钮不可见。为了将风险降低到零,我决定将按钮的颜色设为黑色,同时将白色背景可绘制为背景。

我尝试更改向上按钮的代码(但这需要我添加一个新的drawable,并且我必须对要显示的每个元素执行类似的操作)

val activity = activity as AppCompatActivity?
            activity?.setSupportActionBar(toolbar)
            activity?.getSupportActionBar()?.setDisplayHomeAsUpEnabled(true)
            val upArrow =  ContextCompat.getDrawable(context, R.drawable.abc_ic_ab_back_material);
            upArrow?.setColorFilter(ContextCompat.getColor(context, R.color.white), PorterDuff.Mode.SRC_ATOP);
            activity?.getSupportActionBar()?.setHomeAsUpIndicator(upArrow);

基本上,我想做的是向此已存在的可绘制对象(工具栏中的按钮)添加自定义可绘制对象作为背景(不更改按钮的颜色)。

background_drawable

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" android:padding="10dp">
<solid android:color="@color/white"/>
<stroke android:width="1dp" android:color="#33000000"/>
<corners android:radius="25dp"/>
</shape>

0 个答案:

没有答案