Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.7.0

flutter_displaymode

Ein Flutter-Plugin zum Festlegen des Anzeigemodus (Auflösung, Bildwiederholrate) auf der Android-Plattform. Ermöglicht die Aktivierung einer hohen Bildwiederholrate auf unterstützten Geräten.

Android
30-Tage-Downloads
125.000
Likes
220
Pub-Punkte
160

Paket installieren

flutter pub add flutter_displaymode

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

flutter_displaymode ist ein Flutter-Plugin, das Entwicklern ermöglicht, Anzeigemodi – wie Auflösung und Bildwiederholfrequenz – auf Android-Geräten programmgesteuert festzulegen. Es ist besonders nützlich, um Leistung und visuelle Qualität durch Aktivierung hoher Bildwiederholfrequenzen auf unterstützter Hardware zu optimieren. Das Plugin bietet direkten Zugriff auf die Display-Einstellungen von Android und ermöglicht es Apps, sich dynamisch an die Gerätefähigkeiten anzupassen. Es unterstützt iOS nicht, da die Funktionalität plattformspezifisch für Android ist.

Anwendungsfälle

  • Optimierung der App-Leistung auf Bildschirmen mit hoher Aktualisierungsrate
  • 90 Hz oder 120 Hz Refresh-Raten für Spiele-Apps aktivieren
  • Anpassen der Bildschirmauflösung für bessere visuelle Klarheit
  • Verbesserung der Benutzeroberflächenglättung in animationsintensiven Anwendungen
  • Testen des Anzeigeverhaltens bei verschiedenen Bildschirmkonfigurationen

Hauptmerkmale

  • Android-Anzeigeauflösung und Refresh-Rate festlegen
  • Unterstützt hohe Refresh-Raten-Modi auf kompatiblen Geräten
  • Bietet eine einfache API zum Einstellen des Anzeigemodus
  • Plattformspezifisch für Android
  • Erfordert keine Root-Zugriffsrechte

Geeignet für

  • Android-Spieleentwickler
  • Apps, die eine leistungsstarke UI-Rendering-Engine erfordern
  • Entwickler, die auf Premium-Android-Geräte abzielen
  • Anwendungen, die auf visuelle Treue ausgerichtet sind
  • Tools zum Testen der Anzeigefunktionen

Hinweise

  • Funktioniert nur auf Android-Geräten
  • Geräteunterstützung für dynamische Anzeigemodusänderungen erforderlich
  • Funktioniert möglicherweise nicht auf allen Android-Versionen
  • Änderungen können vom System oder Benutzer rückgängig gemacht werden
  • Beschränkt auf bestimmte Hardware-Funktionen

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Flutter Display Mode

pub package

A Flutter plugin to set display mode in Android. This is useful to enable high refresh rate in devices with discrete framerates like 60Hz, 90Hz etc. This library is ineffective on devices with LTPO panels and iOS devices with ProMotion.

This library should be used as a temporary fix to #35162 until this API gets added to Flutter engine itself.

Getting Started

Add library to pubspec then and rebuild your app:

flutter pub add flutter_displaymode
Set to highest/lowest framerate

Use helper functions FlutterDisplayMode.setHighRefreshRate or FlutterDisplayMode.setLowRefreshRate to switch to highest or lowest refresh rate maintaining current resolution.

// current: #1 1440x3120 @ 60Hz
// new: #2 1440x3120 @ 90Hz
await FlutterDisplayMode.setHighRefreshRate();

// current: #2 1440x3120 @ 90Hz
// new: #1 1440x3120 @ 60Hz
await FlutterDisplayMode.setLowRefreshRate();
Get supported modes

FlutterDisplayMode.supported returns all the modes that can be set as the preferred mode. This always returns DisplayMode.auto as one of the modes.

import 'package:flutter_displaymode/flutter_displaymode.dart';

try {
  modes = await FlutterDisplayMode.supported;
  modes.forEach(print);

  /// On OnePlus 7 Pro:
  /// #0 0x0 @0Hz // Automatic
  /// #1 1080x2340 @ 60Hz
  /// #2 1080x2340 @ 90Hz
  /// #3 1440x3120 @ 90Hz
  /// #4 1440x3120 @ 60Hz

  /// On OnePlus 8 Pro:
  /// #0 0x0 @0Hz // Automatic
  /// #1 1080x2376 @ 60Hz
  /// #2 1440x3168 @ 120Hz
  /// #3 1440x3168 @ 60Hz
  /// #4 1080x2376 @ 120Hz
} on PlatformException catch (e) {
  /// e.code =>
  /// noAPI - No API support. Only Marshmallow and above.
  /// noActivity - Activity is not available. Probably app is in background
}
Get active mode

FlutterDisplayMode.active fetches the currently active mode. This is not always the preferred mode set by FlutterDisplayMode.setPreferredMode. It can be altered by the system based on the display settings.

final DisplayMode m = await FlutterDisplayMode.active;
Set preferred mode

FlutterDisplayMode.setPreferredMode changes the preferred mode. It is upto the system to use this mode. Sometimes system can choose not switch to this based on internal heuristics. Check FlutterDisplayMode.active to see if it actually switches.

/// This setting is per session. 
/// Please ensure this was placed with `initState` of your root widget.
await FlutterDisplayMode.setPreferredMode(modes[1]);
Get preferred mode

FlutterDisplayMode.preferred returns the currently preferred mode. If not manually set with FlutterDisplayMode.setPreferredMode then it will be DisplayMode.auto.

final DisplayMode m = await FlutterDisplayMode.preferred;

You can check out a complete example here.

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden