我有一点问题:"工具提示"长按菜单项时显示的内容不再出现,涟漪效果也不会对工具栏菜单项产生影响。仍然,涟漪效应出现在我的布局中的按钮上,但不在工具栏中。
我没有为工具栏声明主题或样式,但我经常在运行时更改其颜色(但不是直接在onCreate中,所以这不重要,因为它也是没有改变颜色就无法工作。)
像这样的其他解决方案对我来说没有用......
工具栏的XML:
go env
工具栏代码:
<android.support.v7.widget.Toolbar
android:background="@color/Grey"
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentTop="true"
android:elevation="4sp"
android:layout_alignParentStart="true" />
充气菜单:
myToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(myToolbar);
我的主题是来自AppCOmpatDark(NoActionBar one)和onPrepareOptionsMenu的孩子,我经常更改菜单项的可见性&amp;改变他们的颜色...
非常感谢任何帮助,也包括可能触发此错误的指示。
感谢您的帮助!
答案 0 :(得分:0)
我相信在更改应用程序中某些行的背景颜色时,我遇到了类似的问题。我发现选择项目时的涟漪效应是由于更改了默认颜色而在背景下绘制。
在我的ListView中,我添加了XML属性android:drawSelectorOnTop="true"
,它将Ripple效果带到了前景。
将相同的属性添加到代码中可能会解决您的问题。
答案 1 :(得分:0)
即使由于AppTheme我也遇到了类似的问题。我使用const Sample = () => {
const [autocomplete, setAuto] = React.useState(null);
const handleAutocomplete = (event, newValue) => {
if (newValue != null) {
console.log(newValue.id)
setAuto(newValue);
}
}
return (
<Autocomplete
options={options}
style={{ width: '80%', padding: '10px '}}
getOptionLabel={ options => (options.nombres +" "+options.apellidos) }
onChange={handleAutocomplete}
renderInput={params => ( <TextField
{ ...params}
label="Selecciona..."
fullWidth/>
)}
/>
);
};
const options = [
{
nombres: 'Juan García',
apellidos: 'Oliver',
id: 1,
},
{
nombres: 'Melchor',
apellidos: 'Martínez',
id: 2,
},
{
nombres: 'Ricardo',
apellidos: 'Sanz',
id: 3,
},
]
export default Sample;
作为App的默认主题,并且仅对工具栏使用,波纹效果不起作用。但是我使用app:theme解决了它。
请尝试将Theme.MaterialComponents.NoActionBar
添加到工具栏。这是app:theme="@style/Theme.AppCompat.Light.NoActionBar"
的测试,对我有用。
androidx.appcompat.widget.Toolbar
现在您所要做的就是在视图中添加<androidx.appcompat.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/white"
app:layout_collapseMode="pin"
android:elevation="4dp"
app:theme="@style/Theme.AppCompat.Light.NoActionBar"
android:stateListAnimator="@animator/appbar_elevation"
tools:targetApi="lollipop">
,以达到波纹/触摸效果。
android:background="?attr/selectableItemBackground"