如何使支持工具栏背景透明?

Kei*_*ith 9 java android android-toolbar

有没有办法制作新的Android支持工具栏:

android.support.v7.widget.Toolbar
Run Code Online (Sandbox Code Playgroud)

有透明的背景吗?

我尝试将其设置colorPrimary为ARGB(#00ffffff),但它只是给了我一个坚实的灰色条.并且Toolbar只允许我设置背景可绘制.是否可以将背景绘制为透明PNG,或者有更好的方法吗?

理想情况下,我可以在代码/动画中执行它,以便某些活动具有透明条,而某些活动则没有.

提前致谢.

eba*_*hea 19

您可以将背景设置为android的默认透明色,这样就可以了.将其添加到您想要透明的布局Toolbar:

android:background="@android:color/transparent"

如果要以编程方式更改alpha,可以通过修改Toolbar背景本身的alpha来实现.只需获取一个实例Drawable并在那里设置alpha:

mToolbar = findViewById(R.id.my_toolbar);
mToolbar.getBackground().setAlpha(0);
Run Code Online (Sandbox Code Playgroud)

  • @Ramesh我遇到了同样的问题.看起来工具栏的ColorDrawable背景在活动之间共享,因此当您更改此ColorDrawable的alpha或颜色时,它也将在其他活动中更改.解决此问题的方法是将新的ColorDrawable设置为工具栏的背景. (2认同)

Jra*_*o11 9

要回答Nicholas Pesa的问题以及未来的其他一些问题,您可以使用比率来设置浮点数,例如.

mToolbar.getBackground().setAlpha((int)(myFloatValue) * 255);
Run Code Online (Sandbox Code Playgroud)