Hallo zusammen. ** Traumtänzer **. Dieses Mal möchte ich über ** Coordinator Layout ** von Android Support Design schreiben.
Nach der Ankündigung von Material Design bei GOOGLE vor etwa zwei Jahren wurde es für Entwickler wichtig, auch die Benutzeroberfläche zu entwerfen. Das Koordinatorlayout ist keine grundlegende API, sondern unterstützt DESIGN WIDGET. Hinzugefügt aus SDK 22.2.0.
Quelle: https://material.io/guidelines/patterns/scrolling-techniques.html#scrolling-techniques-behavior
Ich war überrascht, dies zuerst zu sehen. Dieses Mal werde ich einen Bildschirm wie den obigen erstellen.
Die Testumgebung sieht folgendermaßen aus:
software | Version |
---|---|
Android Studio | 2.3.1 |
test device | 4.4.2 |
windows | 10(64) |
Zunächst möchte ich ein neues Projekt erstellen.
Die linke Seite ist ein Sicherheitsproblem, daher habe ich es gelöscht. Wenn Sie Android Studio öffnen, wird normalerweise dieser Bildschirm angezeigt.
Schreiben Sie den Namen und die Domain des Projekts.
Ich beginne immer mit dieser Einstellung. Fühlen Sie sich frei zu wählen.
Jeder ist ein Android-Meister, also denke ich, dass es einfach ist.
build.gragle
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
2. Sync now
Bis zu diesem Punkt sind die Grundeinstellungen ohne Probleme abgeschlossen.
Ich mag Keyakizaka im Winter, deshalb habe ich auf die Fotos und den Text auf der folgenden Seite verwiesen.
Winter Illumination at Keyakizaka-dori Street
Bereiten Sie die Fotos und Texte vor, die Sie verwenden möchten.
--drawble Rechtsklick → Neu → Bild Asset.
--Wählen Sie die Symbole für Aktionsleiste und Registerkarte als Symboltyp.
In meinem Fall habe ich die Favoriten- und Zugriffszeit verwendet. Fühlen Sie sich frei zu wählen. Zusätzlich zu dieser Methode können Sie mit KOKO! Symbole herunterladen und hinzufügen. Verwenden Sie daher eine bequeme Methode.
Dies ist keine feste Sache, also zögern Sie nicht, sie zu betreten.
string.xml
<string name="news_title">WINTER ILLUMINATION AT KEYAKIZAKA-DORI STREET</string>
<string name="cont">In winter, beautiful illumination shines all over the Tokyo.
When I see beautiful illumination, I’m excited even though cold
night.Many other illumination events or installation are held at
Roppongi Hills. All of them ends at December 25th.</string>
<string name="published_date">2017-05-02 12:13:43</string>
Layout Coding
Sie können es mit Java-Datei hinzufügen, aber ich möchte mit XML damit spielen. ..
Klicken Sie auf activity_main.xml.
Erstellen Sie einen Komponentenbaum.
Ich habe das getan, was ich mir als Komponentenbaum vorgestellt habe.
Diejenigen, die schwer zu sehen sind, können verstehen, indem sie nach unten schauen.
AppBarLayout-Teil.
activity_main.xml
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="350dp"
android:fitsSystemWindows="true"
app:expandedTitleTextAppearance="@android:color/transparent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="@color/colorPrimary">
<ImageView
android:layout_width="match_parent"
android:layout_height="350dp"
android:contentDescription="@string/app_name"
android:scaleType="centerCrop"
android:src="@drawable/keyaki"
app:layout_collapseMode="parallax" />
<android.support.v7.widget.Toolbar
android:id="@+id/tool_bar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:title="@string/news_title"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light">
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
Dies ist der NestedScrollView-Teil.
activity_main.xml
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
app:cardElevation="5dp"
app:cardUseCompatPadding="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:padding="12dp"
android:text="@string/news_title"
android:textColor="@color/colorPrimaryText"
android:textSize="20sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="12dp">
<ImageView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:contentDescription="@string/app_name"
android:src="@drawable/ic_clock" />
<TextView
android:layout_gravity="center_vertical"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="9"
android:padding="12dp"
android:text="@string/published_date"
android:textColor="@color/colorPrimaryText"
android:textSize="14sp"
android:textStyle="bold" />
</LinearLayout>
<TextView
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lineSpacingMultiplier="1.5"
android:layout_marginTop="12dp"
android:padding="12dp"
android:text="@string/new_cont"
android:textSize="13sp"
/>
</LinearLayout>
</android.support.v7.widget.CardView>
</android.support.v4.widget.NestedScrollView>
FloatingActionButton-Teil.
activity_main.xml
<android.support.design.widget.FloatingActionButton
app:elevation="6dp"
android:src="@drawable/ic_fav"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:pressedTranslationZ="12dp"
app:layout_anchor="@id/app_bar_layout"
app:layout_anchorGravity="bottom|right"/>
MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar)findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
if (getSupportActionBar() != null){
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
Ich habe RUN ausprobiert.
erledigt. .. ..
Der Quellcode ist mein Github. https://github.com/JAICHANGPARK/Coordinator-Layout101
Es gibt verschiedene Methoden, aber ich hoffe, Sie finden es hilfreich für diejenigen, die bisher gelesen haben. Beim Erstellen eines Layouts mit XML ist es wichtig, zuerst ** Component Tree ** zu schreiben. Und es ist viel Übung erforderlich.
Danke fürs Lesen. Wir sehen uns im nächsten Beitrag! Ich wünsche Ihnen eine schöne goldene Woche
Dreamwalker。
References
Recommended Posts