我搜索了整个网络。尝试了数十种解决方案。我也遵循Android的文档,但我无法做到我想要的。 我只想制作动作栏背景渐变。我制作了可绘制的xml文件:
action_bar.xml
password_verify()
我的style.xml:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:angle="270"
android:startColor="@color/colorActionBarStart"
android:endColor="@color/colorActionBarEnd" />
</shape>
我用android多次看过同样的事情。有很多答案,但没有一个有效。我想要做的只是为动作栏制作渐变背景。以前没有人用appcompat v7库做过这个吗?为什么这么难? 可能是我无法得到因为我在Android开发方面如此新鲜。如果是这种情况,请告诉我正确的观点。
请帮帮我。 谢谢。
答案 0 :(得分:1)
就个人而言,我不使用像# list_fractions[:] returns a new list with references to the same values as
# the original list, but unaffected by subsequent additions and removals
for fraction in list_fractions[:]:
numerator = fraction.numerator
denominator = fraction.denominator
list_fractions.append(MyFraction(denominator, 2*numerator))
这样的主题提供的默认操作栏。相反,我会这样做:
list_fractions
Theme.AppCompat.Light
标记Theme.AppCompat.Light.NoActionBar
并传递我的工具栏这让我可以直接在布局文件中设置工具栏的背景。那说......
我尝试使用您发布的基本主题,我也无法使用样式设置默认操作栏的背景。但是,我通过在<Toolbar>
中删除setSupportActionBar()
主题项并在Java中执行它来获得渐变:
actionBarStyle
如果您的目标是为应用中的每个屏幕执行此操作,则可以创建一个onCreate()
课程并让所有其他活动扩展而不是Drawable d = ContextCompat.getDrawable(this, R.drawable.action_bar);
getSupportActionBar().setBackgroundDrawable(d);
:
BaseActivity