Skip to content

Commit 2f906e6

Browse files
committed
添加Material Design新控件上手Demo
1 parent 6053497 commit 2f906e6

14 files changed

+174
-36
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22

33
本代码库整理总结 Android 系统自身UI特性,主要包含**代码实践****特性总结**两方面的内容。有兴趣的朋友欢迎fork、star、watch。
44

5-
## 最新更新 (最后编辑于 2016-07-27
5+
## 最新更新 (最后编辑于 2016-07-29
66

7-
- 新增 Material Design 系列控件的体验,其中包括 SnackBar、FloatingActionButton、AppBarLayout、CardView、CoordinatorLayout、CollapsingToolbarLayout 等
7+
- 新增 Material Design 系列控件的体验,其中包括 RecyclerView、SnackBar、FloatingActionButton、AppBarLayout、CardView、CoordinatorLayout、CollapsingToolbarLayout、BottomSheets
88
- 写一点个人感想,Android L 之后,嵌套滚动机制的应用越发重要了都。。。。。。。。
99

1010
## 实践总结

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,6 @@ dependencies {
3535
testCompile 'junit:junit:4.12'
3636
compile 'com.android.support:appcompat-v7:23.1.1'
3737
compile 'com.android.support:support-v4:23.1.1'
38-
compile 'com.android.support:design:23.1.1'
38+
compile 'com.android.support:design:23.2.0'
3939
compile 'com.android.support:cardview-v7:23.1.1'
4040
}

src/main/AndroidManifest.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,13 @@
5555
android:name=".activity.snackbar.SnackBarDemoActivity"
5656
android:label="SnackBar" />
5757
<activity
58-
android:name=".activity.bartab.BarTabDemoActivity"
58+
android:name=".activity.bt.BarTabDemoActivity"
5959
android:label="AppBarLayout" />
6060
<activity
6161
android:name=".activity.collapsing.CollapsingDemoActivity"
6262
android:label="D_clock爱吃葱花" />
63-
<activity android:name=".activity.recycler.RecyclerDemoActivity"></activity>
63+
<activity android:name=".activity.recycler.RecyclerDemoActivity" />
64+
<activity android:name=".activity.bs.BottomSheetsDemoActivity"></activity>
6465
</application>
6566

6667
</manifest>

src/main/java/com/clock/systemui/activity/MainActivity.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
import android.view.View;
77

88
import com.clock.systemui.R;
9-
import com.clock.systemui.activity.bartab.BarTabDemoActivity;
9+
import com.clock.systemui.activity.bs.BottomSheetsDemoActivity;
10+
import com.clock.systemui.activity.bt.BarTabDemoActivity;
1011
import com.clock.systemui.activity.cardview.CardViewDemoActivity;
1112
import com.clock.systemui.activity.collapsing.CollapsingDemoActivity;
1213
import com.clock.systemui.activity.navigation.NavigationDemoActivity;
@@ -30,6 +31,7 @@ protected void onCreate(Bundle savedInstanceState) {
3031
findViewById(R.id.btn_snack_bar).setOnClickListener(this);
3132
findViewById(R.id.btn_bar_tab).setOnClickListener(this);
3233
findViewById(R.id.btn_collapsing).setOnClickListener(this);
34+
findViewById(R.id.btn_bottom_sheets).setOnClickListener(this);
3335

3436
}
3537

@@ -68,6 +70,10 @@ public void onClick(View v) {
6870
Intent intent = new Intent(this, CollapsingDemoActivity.class);
6971
startActivity(intent);
7072

73+
} else if (viewId == R.id.btn_bottom_sheets) {
74+
Intent intent = new Intent(this, BottomSheetsDemoActivity.class);
75+
startActivity(intent);
76+
7177
}
7278

7379
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package com.clock.systemui.activity.bs;
2+
3+
import android.support.design.widget.BottomSheetDialog;
4+
import android.support.v7.app.AppCompatActivity;
5+
import android.os.Bundle;
6+
import android.support.v7.widget.LinearLayoutManager;
7+
import android.support.v7.widget.RecyclerView;
8+
import android.view.View;
9+
10+
import com.clock.systemui.R;
11+
import com.clock.systemui.adapter.RecyclerItemAdapter;
12+
13+
public class BottomSheetsDemoActivity extends AppCompatActivity implements View.OnClickListener {
14+
15+
@Override
16+
protected void onCreate(Bundle savedInstanceState) {
17+
super.onCreate(savedInstanceState);
18+
setContentView(R.layout.activity_bottom_sheets_demo);
19+
20+
findViewById(R.id.btn_show_dialog).setOnClickListener(this);
21+
22+
}
23+
24+
@Override
25+
public void onClick(View v) {
26+
int viewId = v.getId();
27+
if (viewId == R.id.btn_show_dialog) {
28+
BottomSheetDialog dialog = new BottomSheetDialog(this);
29+
View contentView = View.inflate(this, R.layout.bottom_sheets_layout, null);
30+
RecyclerView itemView = (RecyclerView) contentView.findViewById(R.id.recycler_view);
31+
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
32+
itemView.setLayoutManager(layoutManager);
33+
RecyclerView.Adapter adapter = new RecyclerItemAdapter();
34+
itemView.setAdapter(adapter);
35+
dialog.setContentView(contentView);
36+
dialog.show();
37+
}
38+
}
39+
}

src/main/java/com/clock/systemui/activity/bartab/BarTabDemoActivity.java renamed to src/main/java/com/clock/systemui/activity/bt/BarTabDemoActivity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.clock.systemui.activity.bartab;
1+
package com.clock.systemui.activity.bt;
22

33
import android.os.Bundle;
44
import android.support.design.widget.TabLayout;

src/main/java/com/clock/systemui/activity/recycler/RecyclerDemoActivity.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,13 @@ protected void onCreate(Bundle savedInstanceState) {
3636
mAuthorInfoList.add(authorInfo1);
3737

3838
AuthorInfo authorInfo2 = new AuthorInfo();
39-
authorInfo1.setMotto("I am Android Developer!HaHaHaHaHaHaHaHaHa");
40-
authorInfo1.setNickName("D_clock爱吃大西瓜西瓜西瓜西瓜西瓜");
39+
authorInfo2.setMotto("I am Android Developer!HaHaHaHaHaHaHaHaHa");
40+
authorInfo2.setNickName("D_clock爱吃大西瓜西瓜西瓜西瓜西瓜");
4141
mAuthorInfoList.add(authorInfo2);
4242

4343
AuthorInfo authorInfo3 = new AuthorInfo();
44-
authorInfo1.setMotto("Hello World!Hello World!Hello World!Hello World!Hello World!");
45-
authorInfo1.setNickName("D_clock爱吃葱花葱花葱花葱花葱花葱花");
44+
authorInfo3.setMotto("Hello World!Hello World!Hello World!Hello World!Hello World!");
45+
authorInfo3.setNickName("D_clock爱吃葱花葱花葱花葱花葱花葱花");
4646
mAuthorInfoList.add(authorInfo3);
4747
}
4848

src/main/java/com/clock/systemui/adapter/AuthorRecyclerAdapter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.clock.systemui.adapter;
22

33
import android.support.v7.widget.RecyclerView;
4+
import android.util.Log;
45
import android.view.LayoutInflater;
56
import android.view.View;
67
import android.view.ViewGroup;
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
package com.clock.systemui.adapter;
2+
3+
import android.support.v7.widget.RecyclerView;
4+
import android.view.LayoutInflater;
5+
import android.view.View;
6+
import android.view.ViewGroup;
7+
8+
import com.clock.systemui.R;
9+
10+
/**
11+
* Created by Clock on 2016/7/29.
12+
*/
13+
public class RecyclerItemAdapter extends RecyclerView.Adapter<RecyclerItemAdapter.ItemHolder> {
14+
15+
@Override
16+
public ItemHolder onCreateViewHolder(ViewGroup parent, int viewType) {
17+
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
18+
View itemView = inflater.inflate(R.layout.bottom_sheets_item, parent, false);
19+
return new ItemHolder(itemView);
20+
}
21+
22+
@Override
23+
public void onBindViewHolder(ItemHolder holder, int position) {
24+
25+
}
26+
27+
@Override
28+
public int getItemCount() {
29+
return 10;
30+
}
31+
32+
class ItemHolder extends RecyclerView.ViewHolder {
33+
34+
public ItemHolder(View itemView) {
35+
super(itemView);
36+
}
37+
}
38+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools"
4+
android:layout_width="match_parent"
5+
android:layout_height="match_parent"
6+
android:orientation="vertical"
7+
android:paddingBottom="@dimen/activity_vertical_margin"
8+
android:paddingLeft="@dimen/activity_horizontal_margin"
9+
android:paddingRight="@dimen/activity_horizontal_margin"
10+
android:paddingTop="@dimen/activity_vertical_margin">
11+
12+
<Button
13+
android:id="@+id/btn_show_dialog"
14+
android:layout_width="match_parent"
15+
android:layout_height="wrap_content"
16+
android:text="Show Bottom Sheets Dialog" />
17+
</LinearLayout>

0 commit comments

Comments
 (0)