在Andriod WebView上长时间点击TextEdit时,将显示一个上下文操作栏(CAB)。
我指定了以下样式,以避免布局中断,但菜单不会变得透明并隐藏TextEdit。我应该用这个菜单写什么才能让它变得透明?
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="android:Theme.Holo">
<item name="android:actionBarStyle">@style/AppStyle</item>
<item name="android:windowActionModeOverlay">true</item>
</style>
<style name="AppStyle" parent="android:Widget.Holo.ActionBar">
<item name="android:colorBackground">#00000000</item>
</style>
</resources>
答案 0 :(得分:1)
为您的颜色创建资源并从那里引用它们:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<color name="transparentBlack">#00000000</color>
</resources>
将AppStyle更改为:
<style name="AppStyle" parent="android:Widget.Holo.ActionBar">
<item name="android:background">@color/transparentBlack</item>
</style>
主要区别在于背景与colorBackground,我不确定是否存在功能差异,但我知道当我比较我的工作透明动作栏样式和你的动作栏样式时,这几乎是唯一的差。
您可以尝试仅将android:colorBackground更改为android:background并查看是否单独使用,但我发现最好直接使用引用而不是硬编码颜色。如果您只想更改一个,请分别尝试,看看它们是否能解决您的问题。
2014年12月2日的新建议 -
为什么不隐藏操作栏(mSpecialActionBar.hide();),然后为您的Activity实现View.OnLongClickListener。然后,您可以再次显示操作栏(mSpecialActionBar.show();)。或类似的东西。
@Override
public void onLongClick(View v) {
if (v.getClass() == TextEdit) {
mSpecialActionBar.show();
}
} // end-of-method onLongClick
以下是我认为有用的资源:http://java.dzone.com/articles/contextual-action-bar-cab