fluttercommunity / fluttercommunity/flutter_webview_plugin

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

Ouverte
#654 2 commentaires 5 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Java
Étoiles
1.5k
Forks
938
Métriques de merge des PR
Aucune PR mergée en 30 j

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
```
```

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez dans android/src/main/java/com/flutter_webview_plugin/FlutterWebviewPlugin.java, en vous concentrant sur les paramètres de disposition du scaffold WebView et la conversion dp2px présentés dans le rapport. Reproduisez le problème avec un nouveau projet Flutter, WebviewScaffold et une page web sombre comme dans l’exemple lié. Le travail est terminé lorsque le Android WebView remplit le scaffold sans les lignes blanches de 1px à droite et en bas.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
android, flutter, java
Domaine
mobile
Type d'issue
Bug
Difficulté
2/5
Temps estimé
1-3 heures
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.