Heim >Java >javaLernprogramm >Wie implementiert man ein Zeilenumbruch-Layout für Widgets in Android?

Wie implementiert man ein Zeilenumbruch-Layout für Widgets in Android?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-07 02:01:03883Durchsuche

How to Implement Line-Breaking Layout for Widgets in Android?

Zeilenumbrechendes Widget-Layout für Android

Problem:

In einer Android-Anwendung Möglicherweise verfügen Sie über Daten, die in Widgets unterteilt werden können, die jeweils ein Wort darstellen. Um diese Daten anzuzeigen, möchten Sie die Widgets in Zeilen anordnen, ähnlich einem Textabsatz, sodass sie bei Bedarf in die nächste Zeile umgebrochen werden können.

Vorgeschlagene Lösung:

Implementieren Sie ein benutzerdefiniertes Layout namens PredicateLayout, das das Zeilenumbruchverhalten von Text nachahmt. Dieses Layout verwaltet untergeordnete Ansichten, indem es sie in Zeilen anordnet und umbricht, wenn das Ende der Zeile erreicht ist.

Codebeispiel:

public class PredicateLayout extends ViewGroup {
    private int line_height;

    // ...

    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        // ...
        for (int i = 0; i < count; i++) {
            // ...
            final LayoutParams lp = (LayoutParams) child.getLayoutParams();
            // ...
            line_height = Math.max(line_height, child.getMeasuredHeight() + lp.height);
            // ...
        }
        this.line_height = line_height;
        // ...
    }

    // ...
}

Verwendung:

Innerhalb einer Aktivität können Sie dieses benutzerdefinierte Layout wie folgt verwenden:

public class MyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        // ...
        PredicateLayout l = new PredicateLayout(this);
        // ...
        setContentView(l);
    }
}

Ergebnis:

Das PredicateLayout ordnet das effektiv an Widgets in Zeilen, die bei Überschreitung der Breitenbeschränkung in die nächste Zeile umbrechen. Dies ermöglicht die Anzeige von Daten als umgebrochene textähnliche Absätze.

Das obige ist der detaillierte Inhalt vonWie implementiert man ein Zeilenumbruch-Layout für Widgets in Android?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn