fluttercommunity / fluttercommunity/flutter_webview_plugin

Android layout problem. 1px white line at right and bottom

Open
#654 2 comments 5 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.