fluttercommunity / fluttercommunity/flutter_webview_plugin
Android layout problem. 1px white line at right and bottom
- Dominant language
- Java
- Stars
- 1.5k
- Forks
- 936
- PR merge metrics
- No merged PRs in 30d
Description
## System info
Issue occurs on: Android
Plugin version: 0.3.10+1
Flutter doctor output:
```
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.14.4, on Mac OS X 10.15.2 19C57, locale en)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 11.3.1)
[✓] Android Studio (version 3.5)
[✓] Connected device (2 available)
• No issues found!
```
## Steps to Reproduce
1. create a fresh project with only WebviewScaffold
2. enter a dark webpage url for ex. (https://www.blakeallendesign.com/)
3. voila. There is a 1px white line at right and there is 1px white line at bottom
## The layout of the webview scaffold is set in this file
_/Users/edex/.pub-cache/hosted/pub.dartlang.org/flutter_webview_plugin-0.3.10+1/android/src/main/java/com/flutter_webview_plugin/FlutterWebviewPlugin.java_
I think its a _pixel density calculation_' problem
```java
FrameLayout.LayoutParams params;
if (rc != null) {
params = new FrameLayout.LayoutParams(
dp2px(activity, rc.get("width").intValue() +1),
dp2px(activity, rc.get("height").intValue() +1)
);
params.setMargins(
dp2px(activity, rc.get("left").intValue()),
dp2px(activity, rc.get("top").intValue()),
0,0
);
```
### 0.5f is the default offset value I've tested with these values
0.0f lines become thicker 2x
1.0f lines appears at left and top this time
0.9f same as 0.5
0.99f same as 0.5
-0.5 same as 0.0f
```java
private int dp2px(Context context, float dp) {
final float scale = context.getResources().getDisplayMetrics().density;
return (int) (dp * scale + 0.5f);
}
```
#### The solution is to add +1 to width and heigh then the fractions doesnt matter
```
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in android/src/main/java/com/flutter_webview_plugin/FlutterWebviewPlugin.java, focusing on the WebView scaffold layout parameters and dp2px conversion shown in the report. Reproduce with a fresh Flutter project, WebviewScaffold, and a dark webpage such as the linked example. Done means the Android WebView fills the scaffold without the 1px white lines at the right and bottom.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, flutter, java
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100