我正在使用带有图像的折叠工具栏布局,在该图像的顶部,我想显示两个按钮(向上和共享按钮)。我的问题是我正在从服务器检索显示的图像,因此无论我为按钮选择什么颜色,都有可能按钮不可见。为了将风险降低到零,我决定将按钮的颜色设为黑色,同时将白色背景可绘制为背景。
我尝试更改向上按钮的代码(但这需要我添加一个新的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>