This commit is contained in:
ScorpioMiku
2018-09-09 21:55:05 +08:00
parent 523b921c3a
commit efac56b197
10 changed files with 625 additions and 85 deletions

View File

@@ -0,0 +1,41 @@
package com.example.ninefourone.nutritionmaster.adapter;
import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.ninefourone.nutritionmaster.R;
import java.util.ArrayList;
/**
* Created by ScorpioMiku on 2018/9/9.
*/
public class MenuAdapter extends RecyclerView.Adapter<MenuHolder> {
private ArrayList<String> mList;
private Context mContext;
public MenuAdapter(ArrayList mList, Context mContext) {
this.mList = mList;
this.mContext = mContext;
}
@Override
public MenuHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mContext).inflate(R.layout.menu_item, parent, false);
return new MenuHolder(view);
}
@Override
public void onBindViewHolder(MenuHolder holder, int position) {
holder.bindView(mList.get(position));
}
@Override
public int getItemCount() {
return mList.size();
}
}

View File

@@ -0,0 +1,27 @@
package com.example.ninefourone.nutritionmaster.adapter;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.TextView;
import com.example.ninefourone.nutritionmaster.R;
import butterknife.BindView;
/**
* Created by ScorpioMiku on 2018/9/9.
*/
public class MenuHolder extends RecyclerView.ViewHolder {
@BindView(R.id.text)
TextView textView;
public MenuHolder(View itemView) {
super(itemView);
}
public void bindView(String text) {
textView.setText(text);
}
}

View File

@@ -2,10 +2,12 @@ package com.example.ninefourone.nutritionmaster.modules;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.Color;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.RequiresApi;
import android.support.design.widget.AppBarLayout;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
@@ -62,20 +64,13 @@ public class MainActivity extends BaseActivity {
NoScrollViewPager viewPager;
@BindView(R.id.sliding_tab_layout)
SlidingTabLayout slidingTabLayout;
@BindView(R.id.bar_cover)
FrameLayout barCover;
@BindView(R.id.cb_rating_bar)
CBRatingBar cbRatingBar;
@BindView(R.id.toolbar_user_avatar)
CircularImageView toolbarUserAvatar;
@BindView(R.id.drawer_user_avatar)
CircularImageView drawerUserAvatar;
// @BindView(R.id.spiderWeb_mainActivity)
// SpiderWebScoreView spiderWebMainActivity;
// @BindView(R.id.layout_mainActivity_circular)
// CircularLayout layoutMainActivityCircular;
// @BindView(R.id.search_button)
// ImageView searchButton;
@BindView(R.id.search_view)
MaterialSearchView searchView;
@BindView(R.id.tool_bar)
@@ -88,6 +83,8 @@ public class MainActivity extends BaseActivity {
ImageView addInformationButton;
@BindView(R.id.information_layout)
LinearLayout informationLayout;
@BindView(R.id.title_layout)
AppBarLayout titleLayout;
@Override
@@ -99,14 +96,16 @@ public class MainActivity extends BaseActivity {
public void initViews(Bundle savedInstanceState) {
mDrawer.setTouchMode(ElasticDrawer.TOUCH_MODE_BEZEL);
mDrawer.setOnDrawerStateChangeListener(new ElasticDrawer.OnDrawerStateChangeListener() {
@RequiresApi(api = Build.VERSION_CODES.M)
@SuppressLint("ResourceAsColor")
@Override
public void onDrawerStateChange(int oldState, int newState) {
if (newState == ElasticDrawer.STATE_CLOSED) {
barCover.setVisibility(View.INVISIBLE);
titleLayout.setBackgroundColor(getColor(R.color.colorPrimary));
} else {
barCover.setVisibility(View.VISIBLE);
titleLayout.setBackgroundColor(getColor(R.color.bar_open));
}
}
@Override
@@ -154,6 +153,7 @@ public class MainActivity extends BaseActivity {
ButterKnife.bind(this);
Logger.d("oncreate");
setSupportActionBar(toolBar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
askPermission();
}

View File

@@ -1,20 +1,43 @@
package com.example.ninefourone.nutritionmaster.modules.RecipeActivity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.widget.NestedScrollView;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.example.ninefourone.nutritionmaster.R;
import com.example.ninefourone.nutritionmaster.adapter.MenuAdapter;
import com.example.ninefourone.nutritionmaster.base.BaseActivity;
import com.example.ninefourone.nutritionmaster.bean.Menu;
import com.example.ninefourone.nutritionmaster.bean.RecommendFood;
import com.example.ninefourone.nutritionmaster.utils.UiUtils;
import com.orhanobut.logger.Logger;
import java.util.ArrayList;
import butterknife.BindView;
public class RecipeActivity extends BaseActivity {
@BindView(R.id.recipe_list)
RecyclerView recipeList;
@BindView(R.id.nested_scorll_view)
NestedScrollView nestedScorllView;
@BindView(R.id.tv_title)
TextView tvTitle;
@BindView(R.id.tv_subTitle)
TextView tvSubTitle;
@BindView(R.id.ll_title)
LinearLayout llTitle;
private RecommendFood recommendFood;
private Menu menu;
private ArrayList<String> menuList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -27,9 +50,27 @@ public class RecipeActivity extends BaseActivity {
@Override
public void initViews(Bundle savedInstanceState) {
final int changedHeight = UiUtils.dp2px(this, 214);
nestedScorllView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() {
@Override
public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
float scale = (float) v.getScrollY() / changedHeight;
//变化范围0-255 表示从透明到纯色背景
float alpha = scale * 255 >= 255 ? 255 : scale * 255;
llTitle.setBackgroundColor(Color.argb((int) alpha, 212, 62, 55));
tvTitle.setTextColor(Color.argb((int) alpha, 255, 255, 255));
tvSubTitle.setTextColor(Color.argb((int) alpha, 255, 255, 255));
}
});
Intent intent = getIntent();
recommendFood = (RecommendFood) intent.getSerializableExtra("SEND_OBJECT");
Logger.d(recommendFood.getItemType());
initList();
}
@Override
@@ -41,4 +82,18 @@ public class RecipeActivity extends BaseActivity {
public void onPointerCaptureChanged(boolean hasCapture) {
}
private void initList() {
for (int i = 0; i < 10; i++) {
menuList.add("1");
}
}
@Override
public void initRecyclerView() {
super.initRecyclerView();
MenuAdapter adapter = new MenuAdapter(menuList, this);
recipeList.setAdapter(adapter);
recipeList.setLayoutManager(new LinearLayoutManager(this));
}
}

View File

@@ -0,0 +1,40 @@
package com.example.ninefourone.nutritionmaster.utils;
import android.content.Context;
import android.util.DisplayMetrics;
public class UiUtils {
/**
* 动态获取屏幕的宽度
* @param context context
* @return
*/
public static int getDeviceWidth(Context context){
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
return metrics.widthPixels;
}
/**
* 动态获取屏幕的高度
* @param context context
* @return
*/
public static int getDeviceHeight(Context context){
DisplayMetrics metrics = context.getResources().getDisplayMetrics();
return metrics.heightPixels;
}
/**
* 将dp转为px
* @param context context
* @param dpValue dp值
* @return
*/
public static int dp2px(Context context, float dpValue){
float scale = context.getResources().getDisplayMetrics().density;
return (int)(dpValue * scale +0.5f);
}
}