diff --git a/README.md b/README.md index d8c44ce..96840fe 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + ## 营养大师 一款基于数据分析的智能饮食推荐APP diff --git a/app/build.gradle b/app/build.gradle index 24b8ec6..a0f3dee 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -66,4 +66,7 @@ dependencies { implementation 'com.android.support:cardview-v7:26.1.0' //混合式recyclerview compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30' + //翻页view + compile 'com.github.czy1121:turncardlistview:1.0.0' + } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8bb7fa1..fa4de42 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -17,9 +17,11 @@ + + + android:exported="true" /> + + \ No newline at end of file diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java index 1d2d6ef..ee9b6e0 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/MainActivity.java @@ -11,6 +11,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.FrameLayout; +import android.widget.ImageView; import android.widget.LinearLayout; import com.ToxicBakery.viewpager.transforms.CubeOutTransformer; @@ -19,6 +20,7 @@ import com.example.ninefourone.nutritionmaster.R; import com.example.ninefourone.nutritionmaster.adapter.HomePagerAdapter; import com.example.ninefourone.nutritionmaster.base.BaseActivity; import com.example.ninefourone.nutritionmaster.camera.FoodMaterialCamera; +import com.example.ninefourone.nutritionmaster.modules.addinformation.AddActivity; import com.example.ninefourone.nutritionmaster.ui.NoScrollViewPager; import com.example.ninefourone.nutritionmaster.utils.MessageUtils; import com.example.ninefourone.nutritionmaster.utils.PermissionUtils; @@ -81,6 +83,8 @@ public class MainActivity extends BaseActivity { BoomMenuButton boomMenuButton; @BindView(R.id.spider_view) RadarChart spiderView; + @BindView(R.id.add_information_button) + ImageView addInformationButton; @Override @@ -166,13 +170,11 @@ public class MainActivity extends BaseActivity { } + //mDrawer.openMenu(); + /** * 点击事件 */ - @OnClick(R.id.navigation_layout) - public void onViewClicked() { - mDrawer.openMenu(); - } /** @@ -305,4 +307,17 @@ public class MainActivity extends BaseActivity { super.onRequestPermissionsResult(requestCode, permissions, grantResults); MessageUtils.MakeToast("权限赋予成功"); } + + @OnClick({R.id.navigation_layout, R.id.add_information_button}) + public void onViewClicked(View view) { + switch (view.getId()) { + case R.id.navigation_layout: + mDrawer.openMenu(); + break; + case R.id.add_information_button: + Intent intent = new Intent(MainActivity.this, AddActivity.class); + startActivity(intent); + break; + } + } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddActivity.java new file mode 100644 index 0000000..7dbae5c --- /dev/null +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/addinformation/AddActivity.java @@ -0,0 +1,166 @@ +package com.example.ninefourone.nutritionmaster.modules.addinformation; + +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.CardView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; +import android.widget.BaseAdapter; +import android.widget.Button; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import com.example.ninefourone.nutritionmaster.R; +import com.example.ninefourone.nutritionmaster.utils.ConstantUtils; +import com.example.ninefourone.nutritionmaster.utils.MessageUtils; +import com.github.czy1121.view.TurnCardListView; + +import butterknife.BindView; +import butterknife.ButterKnife; +import butterknife.OnClick; + +public class AddActivity extends AppCompatActivity { + + @BindView(R.id.card_list) + TurnCardListView cardList; + @BindView(R.id.bottom_content) + RelativeLayout bottomContent; + @BindView(R.id.back_button) + ImageView backButton; + @BindView(R.id.result_layout) + CardView resultLayout; + + + // private int[] colors = {0xff3F51B5, 0xff673AB7, 0xff006064, 0xffC51162, 0xffFFEB3B, 0xff795548, 0xff9E9E9E}; + private int[] colors = {0xffdef6f9, 0xffd6eeec, 0xffB2EBF2, 0xffB2DFDB, 0xff8ed0ca, 0xff80CBC4, 0xff4DB6AC, 0xff3c948b}; + private Button[] firstButtons = new Button[ConstantUtils.questionList.length]; + private Button[] secondButtons = new Button[ConstantUtils.questionList.length]; + private Button[] thirdButtons = new Button[ConstantUtils.questionList.length]; + private TextView[] titleViews = new TextView[ConstantUtils.questionList.length]; + + private Button[][] buttonList; + + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + requestWindowFeature(Window.FEATURE_NO_TITLE); + //设置全屏 + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_add); + ButterKnife.bind(this); + buttonList = new Button[][]{ + firstButtons, + secondButtons, + thirdButtons + }; + initAddView(); + } + + private void initAddView() { + BaseAdapter adapter = new BaseAdapter() { + + + @Override + public int getCount() { + return colors.length; + } + + @Override + public Object getItem(int position) { + return position; + } + + @Override + public long getItemId(int position) { + return position; + } + + @Override + public View getView(final int position, View child, ViewGroup parent) { + + child = LayoutInflater.from(parent.getContext()).inflate(R.layout.add_item, parent, false); + child.findViewById(R.id.image).setBackgroundColor(colors[position]); + titleViews[position] = child.findViewById(R.id.title_view); + titleViews[position].setText(ConstantUtils.questionList[position]); + + firstButtons[position] = child.findViewById(R.id.choose_first); + firstButtons[position].setBackgroundColor(colors[position] + 30); + + + secondButtons[position] = child.findViewById(R.id.choose_second); + secondButtons[position].setBackgroundColor(colors[position] + 30); + + + thirdButtons[position] = child.findViewById(R.id.choose_third); + thirdButtons[position].setBackgroundColor(colors[position] + 30); + + + if (position != ConstantUtils.questionList.length - 1) { + firstButtons[position].setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + firstButtons[position].setBackgroundColor(colors[position] - 60); + secondButtons[position].setBackgroundColor(colors[position] + 30); + thirdButtons[position].setBackgroundColor(colors[position] + 30); + cardList.turnTo(position + 1); + } + }); + } else { + firstButtons[position].setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + resultLayout.setVisibility(View.VISIBLE); + } + }); + } + secondButtons[position].setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + firstButtons[position].setBackgroundColor(colors[position] + 30); + thirdButtons[position].setBackgroundColor(colors[position] + 30); + secondButtons[position].setBackgroundColor(colors[position] - 60); + cardList.turnTo(position + 1); + } + }); + thirdButtons[position].setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + firstButtons[position].setBackgroundColor(colors[position] + 30); + secondButtons[position].setBackgroundColor(colors[position] + 30); + thirdButtons[position].setBackgroundColor(colors[position] - 60); + cardList.turnTo(position + 1); + } + }); + + for (int i = 0; i < ConstantUtils.answerList[position].length; i++) { + buttonList[i][position].setText(ConstantUtils.answerList[position][i]); + buttonList[i][position].setVisibility(View.VISIBLE); + } + return child; + } + + }; + + cardList.setAdapter(adapter); + cardList.setOnTurnListener(new TurnCardListView.OnTurnListener() { + @Override + public void onTurned(int position) { + bottomContent.setBackgroundColor(colors[position] - 60); + } + }); + + + } + + @OnClick(R.id.back_button) + public void onViewClicked() { + finish(); + } +} diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java index a982033..f1bc04c 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/utils/ConstantUtils.java @@ -28,4 +28,27 @@ public class ConstantUtils { } } + + public static String[] questionList = new String[]{ + "现在先去找个镜子吧" + + "\n下面会用到哦", + "你舌苔的颜色", + "舌底经络颜色", + "口腔整体情况", + "整体生活精神状况", + "性格特点", + "食物温度偏向", + "揭晓结果" + }; + + public static String[][] answerList = new String[][]{ + {"开始吧"}, + {"偏暗红", "偏白", "淡红"}, + {"暗红", "细红", "不明显"}, + {"口舌干燥", "口黏苔腻", "还算正常"}, + {"沉寂易疲劳", "精力充沛"}, + {"内向", "开朗"}, + {"烫的", "冷的", "没有特别喜欢的"}, + {"查看"} + }; } diff --git a/app/src/main/res/drawable/ic_back_button.xml b/app/src/main/res/drawable/ic_back_button.xml new file mode 100644 index 0000000..89e7a6b --- /dev/null +++ b/app/src/main/res/drawable/ic_back_button.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/drawable/ic_data_add.xml b/app/src/main/res/drawable/ic_data_add.xml new file mode 100644 index 0000000..7bb3b82 --- /dev/null +++ b/app/src/main/res/drawable/ic_data_add.xml @@ -0,0 +1,5 @@ + + + + diff --git a/app/src/main/res/drawable/result_bg.png b/app/src/main/res/drawable/result_bg.png new file mode 100644 index 0000000..cbea2ba Binary files /dev/null and b/app/src/main/res/drawable/result_bg.png differ diff --git a/app/src/main/res/layout/activity_add.xml b/app/src/main/res/layout/activity_add.xml new file mode 100644 index 0000000..ab0a652 --- /dev/null +++ b/app/src/main/res/layout/activity_add.xml @@ -0,0 +1,211 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 7d0e192..b3cdee6 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -193,6 +193,7 @@ android:layout_height="match_parent"> + + diff --git a/app/src/main/res/layout/add_item.xml b/app/src/main/res/layout/add_item.xml new file mode 100644 index 0000000..962700c --- /dev/null +++ b/app/src/main/res/layout/add_item.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file