Skip to content

Commit c4dce14

Browse files
author
zrqandroid
committed
add play page
1 parent da53f63 commit c4dce14

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+613
-108
lines changed

.idea/misc.xml

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

app/src/main/AndroidManifest.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
android:icon="@mipmap/ic_launcher"
1111
android:label="@string/app_name"
1212
android:supportsRtl="true"
13-
android:name=".api.App"
14-
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
13+
android:name=".api.AppContext"
14+
android:theme="@style/NoActionBar">
1515
<activity android:name=".component.home.ui.HomePageActivity">
1616
<intent-filter>
1717
<action android:name="android.intent.action.MAIN" />

app/src/main/java/com/maowubian/baseproject/api/App.java app/src/main/java/com/maowubian/baseproject/api/AppContext.java

+5-2
Original file line numberDiff line numberDiff line change
@@ -4,21 +4,24 @@
44
import android.content.Context;
55

66
import com.maowubian.baseproject.factory.StoreConfigFactory;
7+
import com.maowubian.baseproject.utils.DimensUtil;
78
import com.orhanobut.logger.Logger;
89

910

1011
/**
1112
* Created by zhuruqiao on 16/8/1.
1213
*/
13-
public class App extends Application {
14+
public class AppContext extends Application {
1415

1516
public static Context mContext;
17+
public static int statusBarHeight;
1618

1719
@Override
1820
public void onCreate() {
1921
super.onCreate();
2022
mContext=this;
21-
Logger.i("path:%s", StoreConfigFactory.getStorePath(StoreConfigFactory.DIR_HTTP));
23+
statusBarHeight= DimensUtil.getStatusbarHeight();
24+
2225

2326
}
2427

app/src/main/java/com/maowubian/baseproject/api/Constants.java

+2
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,6 @@
44
* Created by zhuruqiao on 16/8/1.
55
*/
66
public class Constants {
7+
8+
79
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.maowubian.baseproject.component.game.ui;
2+
3+
import android.databinding.DataBindingUtil;
4+
import android.databinding.ViewDataBinding;
5+
import android.view.LayoutInflater;
6+
import android.view.View;
7+
import android.view.ViewGroup;
8+
import android.widget.LinearLayout;
9+
10+
import com.maowubian.baseproject.R;
11+
import com.maowubian.baseproject.api.AppContext;
12+
import com.maowubian.baseproject.component.home.ui.BaseFragment;
13+
import com.maowubian.baseproject.databinding.GameDataBinding;
14+
import com.maowubian.baseproject.databinding.MovieDataBinding;
15+
import com.maowubian.baseproject.utils.DimensUtil;
16+
17+
/**
18+
* Created by zhuruqiao on 16/8/4.
19+
*/
20+
public class GameFragment extends BaseFragment<GameDataBinding> {
21+
22+
@Override
23+
protected void initView(GameDataBinding binding) {
24+
binding.space.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, AppContext.statusBarHeight));
25+
26+
}
27+
28+
@Override
29+
public int getLayout() {
30+
return R.layout.fragment_game;
31+
}
32+
}
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,80 @@
11
package com.maowubian.baseproject.component.home.events;
22

3+
import android.support.design.widget.NavigationView;
4+
import android.view.Menu;
5+
import android.view.MenuItem;
6+
import android.view.View;
7+
import android.widget.ImageView;
8+
9+
import com.bumptech.glide.Glide;
10+
import com.maowubian.baseproject.R;
11+
import com.maowubian.baseproject.factory.StoreConfigFactory;
12+
13+
import java.io.File;
14+
315
/**
416
* Created by zhuruqiao on 16/8/3.
517
*/
618
public class HomeEvents {
719

820

21+
public static void onNavigationCLick(NavigationView nv) {
22+
Menu menu = nv.getMenu();
23+
View headerView = nv.getHeaderView(0);
24+
ImageView bg = (ImageView) headerView.findViewById(R.id.bg);
25+
Glide.with(bg.getContext()).load(new File(StoreConfigFactory.getStorePath(StoreConfigFactory.DIR_DOWNLOAD),"xuekaiqi.jpeg")).into(bg);
26+
27+
for (int i = 0; i < menu.size(); i++) {
28+
29+
MenuItem item = menu.getItem(i);
30+
item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
31+
@Override
32+
public boolean onMenuItemClick(MenuItem item) {
33+
switch (item.getItemId()) {
34+
case R.id.music:
35+
doMusic();
36+
break;
37+
case R.id.movie:
38+
doMovie();
39+
break;
40+
case R.id.game:
41+
doGame();
42+
break;
43+
case R.id.study:
44+
doAbout();
45+
break;
46+
case R.id.about:
47+
doAdvice();
48+
break;
49+
50+
}
51+
52+
return true;
53+
}
54+
});
55+
56+
}
57+
58+
}
59+
60+
private static void doMusic() {
61+
62+
}
63+
64+
private static void doMovie() {
65+
66+
}
67+
68+
private static void doGame() {
69+
70+
}
71+
72+
private static void doAbout() {
73+
74+
}
75+
76+
77+
private static void doAdvice() {
78+
79+
}
980
}
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,39 @@
11
package com.maowubian.baseproject.component.home.ui;
22

3-
import android.graphics.Color;
3+
import android.content.Context;
4+
import android.databinding.DataBindingUtil;
5+
import android.databinding.ViewDataBinding;
46
import android.os.Bundle;
57
import android.support.annotation.Nullable;
68
import android.support.v4.app.Fragment;
79
import android.view.LayoutInflater;
810
import android.view.View;
911
import android.view.ViewGroup;
10-
import android.widget.TextView;
1112

12-
import com.maowubian.baseproject.R;
1313

14-
import java.util.Random;
1514

1615
/**
1716
* Created by zhuruqiao on 16/8/3.
1817
*/
19-
public class AppFragment extends Fragment {
18+
public abstract class BaseFragment<T extends ViewDataBinding> extends Fragment {
19+
public Context mContext;
20+
public T binding;
21+
2022
@Override
2123
public void onCreate(@Nullable Bundle savedInstanceState) {
2224
super.onCreate(savedInstanceState);
25+
mContext = getActivity();
2326
}
2427

2528
@Nullable
2629
@Override
2730
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
28-
View view = inflater.inflate(R.layout.fragment_home, null);
29-
int i = new Random().nextInt(3);
30-
int[] colors={Color.BLUE,Color.GREEN,Color.YELLOW};
31-
view.setBackgroundColor(colors[i]);
32-
TextView tv = (TextView) view.findViewById(R.id.tv);
33-
tv.setText("颜色:"+colors[i]);
34-
return view;
31+
binding = DataBindingUtil.inflate(inflater,getLayout(), null, false);
32+
initView(binding);
33+
return binding.getRoot();
3534
}
35+
36+
protected abstract void initView(T binding);
37+
38+
public abstract int getLayout();
3639
}

app/src/main/java/com/maowubian/baseproject/component/home/ui/HomePageActivity.java

+26-43
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,17 @@
1111
import android.view.Menu;
1212
import android.view.MenuItem;
1313
import android.view.View;
14-
import android.view.ViewGroup;
1514
import android.view.WindowManager;
1615
import android.view.animation.AlphaAnimation;
17-
import android.widget.LinearLayout;
1816

1917
import com.maowubian.baseproject.R;
18+
import com.maowubian.baseproject.component.game.ui.GameFragment;
2019
import com.maowubian.baseproject.component.home.adapter.HomeVpAdapter;
20+
import com.maowubian.baseproject.component.home.events.HomeEvents;
21+
import com.maowubian.baseproject.component.movie.ui.MovieFragment;
22+
import com.maowubian.baseproject.component.music.ui.MusicFragment;
2123
import com.maowubian.baseproject.databinding.HomeDatabinding;
2224

23-
import java.lang.reflect.Field;
2425
import java.util.ArrayList;
2526
import java.util.List;
2627

@@ -30,64 +31,46 @@
3031
public class HomePageActivity extends AppCompatActivity {
3132

3233
private HomeDatabinding databinding;
34+
3335
private List<Fragment> fragments = new ArrayList<>();
36+
3437
private Context mContext;
3538

3639
@Override
3740
protected void onCreate(@Nullable final Bundle savedInstanceState) {
3841
super.onCreate(savedInstanceState);
39-
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
40-
//透明状态栏
41-
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
42-
//透明导航栏
43-
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
44-
}
45-
42+
fullScreenWithTitleBar();
4643
mContext = this;
47-
4844
databinding = DataBindingUtil.setContentView(this, R.layout.activity_home_page);
49-
databinding.space.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,getStatusbarHeight()));
50-
45+
HomeEvents.onNavigationCLick(databinding.nv);
46+
init();
5147

52-
AppFragment appFragment1 = new AppFragment();
53-
AppFragment appFragment2 = new AppFragment();
54-
AppFragment appFragment3 = new AppFragment();
48+
}
5549

56-
fragments.add(appFragment1);
57-
fragments.add(appFragment2);
58-
fragments.add(appFragment3);
59-
databinding.vp.setAdapter(new HomeVpAdapter(getSupportFragmentManager(), fragments));
50+
private void init() {
6051

61-
Menu menu = databinding.nv.getMenu();
6252

63-
menu.getItem(0).setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
64-
@Override
65-
public boolean onMenuItemClick(MenuItem item) {
53+
MusicFragment musicFragment = new MusicFragment();
54+
MovieFragment movieFragment = new MovieFragment();
55+
GameFragment gameFragment = new GameFragment();
6656

67-
Snackbar bar = Snackbar.make(databinding.nv, "哈哈哈", Snackbar.LENGTH_SHORT);
68-
bar.show();
69-
View view = bar.getView();
70-
view.setBackgroundColor(0x55f44336);
71-
view.setAnimation(new AlphaAnimation(0, 1));
57+
fragments.add(musicFragment);
58+
fragments.add(movieFragment);
59+
fragments.add(gameFragment);
7260

73-
return true;
74-
}
75-
});
61+
databinding.vp.setAdapter(new HomeVpAdapter(getSupportFragmentManager(), fragments));
7662

7763

7864
}
7965

80-
private int getStatusbarHeight() {
81-
try {
82-
Class<?> c = Class.forName("com.android.internal.R$dimen");
83-
Object o = c.newInstance();
84-
Field field = c.getField("status_bar_height");
85-
int i = Integer.parseInt(field.get(o).toString());
86-
return getResources().getDimensionPixelOffset(i);
87-
88-
} catch (Exception e) {
89-
e.printStackTrace();
66+
private void fullScreenWithTitleBar() {
67+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
68+
//透明状态栏
69+
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
70+
//透明导航栏
71+
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
9072
}
91-
return 0;
9273
}
74+
75+
9376
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.maowubian.baseproject.component.movie.ui;
2+
3+
import android.databinding.DataBindingUtil;
4+
import android.databinding.ViewDataBinding;
5+
import android.view.LayoutInflater;
6+
import android.view.View;
7+
import android.view.ViewGroup;
8+
import android.widget.LinearLayout;
9+
10+
import com.maowubian.baseproject.R;
11+
import com.maowubian.baseproject.api.AppContext;
12+
import com.maowubian.baseproject.component.home.ui.BaseFragment;
13+
import com.maowubian.baseproject.databinding.MovieDataBinding;
14+
import com.maowubian.baseproject.databinding.MusicDataBinding;
15+
import com.maowubian.baseproject.utils.DimensUtil;
16+
17+
/**
18+
* Created by zhuruqiao on 16/8/4.
19+
*/
20+
public class MovieFragment extends BaseFragment<MovieDataBinding> {
21+
22+
@Override
23+
protected void initView(MovieDataBinding binding) {
24+
binding.space.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, AppContext.statusBarHeight));
25+
26+
}
27+
28+
@Override
29+
public int getLayout() {
30+
return R.layout.fragment_movie;
31+
}
32+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package com.maowubian.baseproject.component.music.adapter;
2+
3+
import android.support.v4.view.PagerAdapter;
4+
import android.view.View;
5+
6+
/**
7+
* Created by zhuruqiao on 16/8/4.
8+
*/
9+
public class BannerAdapter extends PagerAdapter{
10+
11+
@Override
12+
public int getCount() {
13+
return 0;
14+
}
15+
16+
@Override
17+
public boolean isViewFromObject(View view, Object object) {
18+
return false;
19+
}
20+
21+
}

0 commit comments

Comments
 (0)