Bu dersimizde collapisng Toolbarın ne olduğundan ve nasıl kullanıldığından bahsetmeye çalışıcam. Bu derste yaptığımız uygulama bir önceki yaptığımız uygulamanın neredeyse aynısı sadece belli yerlerde değişiklik yaparak collapsing toolbarın çalışma mantığını anlatmaya çalışıcam.
Diğer örnekten farklı olarak bu derste collapsing toolbar layout ve collapse modların anlatıldığı bu ders umarım faydalı olmuştur. Burdaki collapsing toolbarlayoutu yine app bar layoutun içinde oluşturuyoruz. Ayrıca xml içinde yeni olarak contentScrim=”@color/colorPrimary”, scaleType=”centerCrop” gibi özellikleri de öğrendik.
Dersin sonlarına doğru bir floating action button oluşturduk ve bunu collapsing toolbarımızın sağ alt kısmına ekledik. Bunu yapmak için anchor ve anchorgravity özelliklerini kullandık.
Tüm projeyi indirmek için burayı tıklayın….
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); toolbar.setTitle("CollapsingToolbarLayout"); toolbar.inflateMenu(R.menu.menu_main); CollapsingToolbarLayout collapsingToolbarLayout= (CollapsingToolbarLayout) findViewById(R.id.collapsingToolbar); collapsingToolbarLayout.setTitle("Yeni Başlık"); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/edit" android:orderInCategory="100" android:title="Edit" app:showAsAction="never"/> <item android:id="@+id/discard" android:orderInCategory="100" android:title="Delete" app:showAsAction="never"/> <item android:id="@+id/search" android:orderInCategory="100" android:title="Search" app:showAsAction="never"/> <item android:id="@+id/Exit" android:orderInCategory="100" android:title="Exit" app:showAsAction="never"/> <item android:id="@+id/settings" android:orderInCategory="100" android:title="Settings" app:showAsAction="never"/> </menu> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingTop="10dp"> <include layout="@layout/tek_satir"/> <include layout="@layout/tek_satir"/> <include layout="@layout/tek_satir"/> <include layout="@layout/tek_satir"/> <include layout="@layout/tek_satir"/> <include layout="@layout/tek_satir"/> <include layout="@layout/tek_satir"/> <include layout="@layout/tek_satir"/> </LinearLayout> </android.support.v4.widget.NestedScrollView> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="16dp" android:elevation="5dp" app:cardCornerRadius="5dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="15dp" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Saçma Başlık" android:textColor="@android:color/holo_red_dark" android:textSize="20sp" android:textStyle="bold"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:text="@string/uzun_yazi" android:textColor="@android:color/black" android:textSize="15sp"/> </LinearLayout> </android.support.v7.widget.CardView> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="256dp" android:id="@+id/appBar" android:fitsSystemWindows="true" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/collapsingToolbar" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="@color/colorPrimary" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:src="@drawable/landscape" android:fitsSystemWindows="true" app:layout_collapseMode="parallax" android:scaleType="centerCrop" /> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?android:actionBarSize" android:elevation="7dp" app:layout_collapseMode="pin" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <include layout="@layout/nested_scroll_view" /> <android.support.design.widget.FloatingActionButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="16dp" android:src="@drawable/ic_star" app:layout_anchor="@id/appBar" app:layout_anchorGravity="bottom|right" /> </android.support.design.widget.CoordinatorLayout> |