我正在开发一个关于发布个人简历的新项目。
我需要在应用程序中显示用户的简历。
我的标准 WebView 代码如下并且在 iOS 上运行良好。
import * as React from 'react';
import { WebView } from 'react-native';
export default class App extends React.Component {
render() {
return (
<WebView
style={{flex: 1, backgroundColor: 'white'}}
source={{
uri: 'http://www.africau.edu/images/default/sample.pdf',
}}
bounces={true}
useWebKit={true}
scrollEnabled={true}
/>
);
}
}
Run Code Online (Sandbox Code Playgroud)
此代码也需要在 Android 上运行。当我在 Android 上尝试时,页面什么也没显示。
我在我的应用程序中使用 setColorFilter 来更改按钮的背景颜色。
这是我的代码:
// layout_main.xml
...
<Button
android:id="@+id/btn_search"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/btn_round"
android:text="button"/>
...
Run Code Online (Sandbox Code Playgroud)
=================================================== ==
// btn_round.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:name="solid" android:color="#000000"/>
<corners
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
=================================================== ==
//MainActivity.java
...
Button btn_search = (Button)findViewById(R.id.btn_serach);
btn_search.getBackground().setColorFilter(Color.RED, Mode.MULTIPLY);
Run Code Online (Sandbox Code Playgroud)
我尝试了Mode.MULTIPLY和Mode.OVERLAY,结果是:

我期望有 ColorFilter 的效果,但它似乎隐藏在按钮后面。
这段代码在 Android 4.4 上运行良好。但是当我在Android 5.0上尝试时,它不起作用。
我怎么解决这个问题?