diff --git a/app/build.gradle b/app/build.gradle index e4fc5b0..6c6609c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -75,6 +75,10 @@ dependencies { implementation 'com.github.bumptech.glide:glide:3.8.0' implementation 'com.android.support:support-v4:19.1.0' + //picker + implementation 'com.contrarywind:Android-PickerView:4.1.6' + + //okhttp 网络通信库 implementation 'com.squareup.okhttp3:okhttp:3.11.0' // json解析库 diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseActivity.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseActivity.java index d1f44e1..a65a2b0 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseActivity.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseActivity.java @@ -4,6 +4,9 @@ import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.app.AppCompatActivity; +import com.example.ninefourone.nutritionmaster.NutritionMaster; +import com.example.ninefourone.nutritionmaster.bean.MyUser; + import butterknife.ButterKnife; import butterknife.Unbinder; @@ -24,7 +27,6 @@ public abstract class BaseActivity extends AppCompatActivity { } - /** * 设置布局layout * @@ -85,4 +87,8 @@ public abstract class BaseActivity extends AppCompatActivity { super.onDestroy(); unbinder.unbind(); } + + protected void upUser(MyUser user) { + NutritionMaster.user = user; + } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java index 6631ea7..9753cd5 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/base/BaseFragment.java @@ -9,6 +9,10 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.example.ninefourone.nutritionmaster.NutritionMaster; +import com.example.ninefourone.nutritionmaster.bean.MyUser; +import com.example.ninefourone.nutritionmaster.bean.User; + import butterknife.ButterKnife; import butterknife.Unbinder; @@ -50,7 +54,6 @@ public abstract class BaseFragment extends Fragment { public abstract void initView(Bundle state); - @Override public void onResume() { super.onResume(); @@ -150,5 +153,8 @@ public abstract class BaseFragment extends Fragment { protected void finishTask() { } + protected void upUser(MyUser user) { + NutritionMaster.user = user; + } } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/MyUser.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/MyUser.java index 57a6b6b..4facf15 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/MyUser.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/bean/MyUser.java @@ -40,6 +40,25 @@ public class MyUser { private List groups; private List user_permissions; + private float weight = 0; + private float height = 0; + + public float getWeight() { + return weight; + } + + public void setWeight(float weight) { + this.weight = weight; + } + + public float getHeight() { + return height; + } + + public void setHeight(float height) { + this.height = height; + } + public int getId() { return id; } 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 ccca289..e7eb436 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 @@ -2,6 +2,7 @@ package com.example.ninefourone.nutritionmaster.modules; import android.annotation.SuppressLint; import android.content.Intent; +import android.graphics.Paint; import android.os.Build; import android.os.Bundle; import android.support.annotation.NonNull; @@ -13,11 +14,15 @@ import android.view.MenuItem; import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; +import android.widget.RelativeLayout; import android.widget.TextView; import com.ToxicBakery.viewpager.transforms.CubeOutTransformer; - +import com.bigkoo.pickerview.builder.OptionsPickerBuilder; +import com.bigkoo.pickerview.listener.OnOptionsSelectListener; +import com.bigkoo.pickerview.view.OptionsPickerView; import com.cb.ratingbar.CBRatingBar; +import com.example.ninefourone.nutritionmaster.NutritionMaster; import com.example.ninefourone.nutritionmaster.R; import com.example.ninefourone.nutritionmaster.adapter.HomePagerAdapter; import com.example.ninefourone.nutritionmaster.base.BaseActivity; @@ -47,7 +52,6 @@ import com.mxn.soul.flowingdrawer_core.FlowingDrawer; import com.nightonke.boommenu.BoomButtons.HamButton; import com.nightonke.boommenu.BoomButtons.OnBMClickListener; import com.nightonke.boommenu.BoomMenuButton; -import com.orhanobut.logger.Logger; import java.io.IOException; import java.util.ArrayList; @@ -96,6 +100,16 @@ public class MainActivity extends BaseActivity { TextView userNickName; @BindView(R.id.user_occupation_text) TextView userOccupationText; + @BindView(R.id.container) + RelativeLayout container; + @BindView(R.id.adder_infor) + TextView adderInfor; + @BindView(R.id.add_infor_ll) + LinearLayout addInforLl; + @BindView(R.id.show_information) + LinearLayout showInformation; + + private OptionsPickerView pickerView; @Override public int getLayoutId() { @@ -123,11 +137,14 @@ public class MainActivity extends BaseActivity { // Logger.i("openRatio=" + openRatio + " ,offsetPixels=" + offsetPixels); } }); + initInforView(); + initPicker(); initSpiderView(); initViewPager(); initSearchView(); initBMB(); initOccupations(); + } /** @@ -288,6 +305,24 @@ public class MainActivity extends BaseActivity { } + /** + * 初始化picker + */ + private void initPicker() { + pickerView = new OptionsPickerBuilder(MainActivity.this, new OnOptionsSelectListener() { + @Override + public void onOptionsSelect(int options1, int options2, int options3, View v) { + final int option = options1; + userOccupationText.post(new Runnable() { + @Override + public void run() { + userOccupationText.setText(ConstantUtils.occupationList.get(option)); + } + }); + } + }).build(); + } + /** * 初始化悬浮按钮 */ @@ -309,6 +344,29 @@ public class MainActivity extends BaseActivity { boomMenuButton.addBuilder(builder2); } + + /** + * 初始化个人信息界面(UI) + */ + private void initInforView() { + adderInfor.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); + if (NutritionMaster.user.getHeight() != 0) { + showInformation.setVisibility(View.VISIBLE); + adderInfor.setVisibility(View.INVISIBLE); + } else { + showInformation.setVisibility(View.INVISIBLE); + adderInfor.setVisibility(View.VISIBLE); + } + + adderInfor.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + + } + /** * 请求权限 */ @@ -329,7 +387,7 @@ public class MainActivity extends BaseActivity { * @param view */ - @OnClick({R.id.navigation_layout, R.id.add_information_button, R.id.information_layout, R.id.user_occupation_text}) + @OnClick({R.id.navigation_layout, R.id.add_information_button, R.id.information_layout, R.id.user_occupation_text, R.id.adder_infor}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.navigation_layout: @@ -342,6 +400,9 @@ public class MainActivity extends BaseActivity { case R.id.information_layout: break; case R.id.user_occupation_text: + pickerView.show(); + break; + case R.id.adder_infor: break; } } @@ -364,7 +425,7 @@ public class MainActivity extends BaseActivity { // Logger.d(occupations[i].getOccupation_name()); ConstantUtils.occupationList.add(occupations[i].getOccupation_name()); } - + pickerView.setPicker(ConstantUtils.occupationList); } }); } diff --git a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java index ec3c392..30b36c2 100644 --- a/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java +++ b/app/src/main/java/com/example/ninefourone/nutritionmaster/modules/viewpagerfragments/bodyinformation/BodyInformationFragment.java @@ -178,6 +178,6 @@ public class BodyInformationFragment extends BaseFragment { @Override public void onDestroy() { super.onDestroy(); -// getActivity().unbindService(coon); + getActivity().unbindService(coon); } } diff --git a/app/src/main/res/drawable/ic_dialog_height.xml b/app/src/main/res/drawable/ic_dialog_height.xml new file mode 100644 index 0000000..9835d8e --- /dev/null +++ b/app/src/main/res/drawable/ic_dialog_height.xml @@ -0,0 +1,7 @@ + + + + + + diff --git a/app/src/main/res/drawable/ic_dialog_weight.xml b/app/src/main/res/drawable/ic_dialog_weight.xml new file mode 100644 index 0000000..2b938ec --- /dev/null +++ b/app/src/main/res/drawable/ic_dialog_weight.xml @@ -0,0 +1,6 @@ + + + + + diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index 06280a6..1eca8ff 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -206,340 +206,362 @@ android:layout_height="wrap_content"> - + > - + android:layout_height="200dp" + android:gravity="center" + android:id="@+id/add_infor_ll" + android:orientation="vertical"> - + + - - - - - - - - - - - - + android:orientation="vertical"> - - - - - - - - - - + android:src="@drawable/ic_score" /> - + - + - + - + - - + - - + + - + - - - - - + android:orientation="horizontal"> - + + + + + + + + + + + + + + + + + + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="0.5" /> - + - + - - - - - - - - - - - - - - - - - + android:orientation="horizontal"> - + + + + + + + + + + + + + + + + + + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="0.5" /> + + + + + + + android:orientation="horizontal"> + + + + + + + + + + + + + + + + + + - - - - - - + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_weight="0.5" /> - - + - + - - - + + diff --git a/app/src/main/res/layout/information_dialog.xml b/app/src/main/res/layout/information_dialog.xml new file mode 100644 index 0000000..d4d1474 --- /dev/null +++ b/app/src/main/res/layout/information_dialog.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file