fluttercommunity / fluttercommunity/flutter_webview_plugin
Android layout problem. 1px white line at right and bottom
- 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