From 5990e4fd7dd1b75d23703bd1c0b4e1465aee650c Mon Sep 17 00:00:00 2001 From: ongbo <1308161085@qq.com> Date: Sat, 28 Dec 2019 21:28:34 +0800 Subject: [PATCH] home and chat personal_activity update frame ongbo2_20191228 --- app/build.gradle | 2 + .../PersonalCenter/EssayGalleryAdapter.java | 55 +++ .../com/example/PersonalCenter/Image.java | 31 ++ .../example/PersonalCenter/PersonContent.java | 134 ++++-- .../example/PersonalCenter/essayGallary.java | 43 ++ .../cmknowledgegraph/MainActivity.java | 19 +- .../PersonalityCenterActivity.java | 1 + .../res/drawable/ic_arrow_back_black_24dp.png | Bin 0 -> 147 bytes .../res/drawable/mirror_light_ctrl_gray.png | Bin 0 -> 3041 bytes .../res/drawable/mirror_light_ctrl_green.png | Bin 0 -> 3108 bytes app/src/main/res/drawable/next.png | Bin 0 -> 2784 bytes app/src/main/res/drawable/qrcodeimage.jpeg | Bin 0 -> 14317 bytes app/src/main/res/drawable/voiceprint.png | Bin 0 -> 2621 bytes .../layout/activity_personality_center.xml | 444 ++++++++++++++---- app/src/main/res/layout/item_shop_card.xml | 17 + app/src/main/res/values/colors.xml | 64 +++ app/src/main/res/values/styles.xml | 6 + 17 files changed, 687 insertions(+), 129 deletions(-) create mode 100644 app/src/main/java/com/example/PersonalCenter/EssayGalleryAdapter.java create mode 100644 app/src/main/java/com/example/PersonalCenter/Image.java create mode 100644 app/src/main/java/com/example/PersonalCenter/essayGallary.java create mode 100644 app/src/main/res/drawable/ic_arrow_back_black_24dp.png create mode 100644 app/src/main/res/drawable/mirror_light_ctrl_gray.png create mode 100644 app/src/main/res/drawable/mirror_light_ctrl_green.png create mode 100644 app/src/main/res/drawable/next.png create mode 100644 app/src/main/res/drawable/qrcodeimage.jpeg create mode 100644 app/src/main/res/drawable/voiceprint.png create mode 100644 app/src/main/res/layout/item_shop_card.xml diff --git a/app/build.gradle b/app/build.gradle index 928622d..7b7a163 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -90,4 +90,6 @@ dependencies { implementation 'com.loopeer.library:cardstack:1.0.2' implementation 'com.ramotion.foldingcell:folding-cell:1.2.3' + implementation 'com.yarolegovich:discrete-scrollview:1.4.9' + } diff --git a/app/src/main/java/com/example/PersonalCenter/EssayGalleryAdapter.java b/app/src/main/java/com/example/PersonalCenter/EssayGalleryAdapter.java new file mode 100644 index 0000000..d95fb47 --- /dev/null +++ b/app/src/main/java/com/example/PersonalCenter/EssayGalleryAdapter.java @@ -0,0 +1,55 @@ +package com.example.PersonalCenter; + +import android.app.Activity; +import android.graphics.Point; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import androidx.annotation.ColorInt; +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.bumptech.glide.Glide; +import com.example.cmknowledgegraph.MainActivity; +import com.example.cmknowledgegraph.R; + +import java.util.List; + +public class EssayGalleryAdapter extends RecyclerView.Adapter{ + private List data; + + public EssayGalleryAdapter(List data) { + this.data = data; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + LayoutInflater inflater = LayoutInflater.from(parent.getContext()); + View v = inflater.inflate(R.layout.item_shop_card, parent, false); + return new ViewHolder(v); + } + + @Override + public void onBindViewHolder(ViewHolder holder, int position) { + Glide.with(holder.itemView.getContext()) + .load(data.get(position).getImage()) + .into(holder.image); + } + + @Override + public int getItemCount() { + return data.size(); + } + + class ViewHolder extends RecyclerView.ViewHolder { + + private ImageView image; + + public ViewHolder(View itemView) { + super(itemView); + image = (ImageView) itemView.findViewById(R.id.image); + } + } +} diff --git a/app/src/main/java/com/example/PersonalCenter/Image.java b/app/src/main/java/com/example/PersonalCenter/Image.java new file mode 100644 index 0000000..b0e24ca --- /dev/null +++ b/app/src/main/java/com/example/PersonalCenter/Image.java @@ -0,0 +1,31 @@ +package com.example.PersonalCenter; + +public class Image { + private final int id; + private final String name; + private final String price; + private final int image; + + public Image(int id, String name, String price, int image) { + this.id = id; + this.name = name; + this.price = price; + this.image = image; + } + + public int getId() { + return id; + } + + public String getName() { + return name; + } + + public String getPrice() { + return price; + } + + public int getImage() { + return image; + } +} diff --git a/app/src/main/java/com/example/PersonalCenter/PersonContent.java b/app/src/main/java/com/example/PersonalCenter/PersonContent.java index e6e7b4b..f9867cf 100644 --- a/app/src/main/java/com/example/PersonalCenter/PersonContent.java +++ b/app/src/main/java/com/example/PersonalCenter/PersonContent.java @@ -1,16 +1,19 @@ package com.example.PersonalCenter; +import android.animation.ArgbEvaluator; import android.app.Person; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; +import android.graphics.Outline; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.ViewOutlineProvider; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.view.animation.Interpolator; @@ -23,6 +26,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; +import androidx.cardview.widget.CardView; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.recyclerview.widget.LinearLayoutManager; @@ -40,33 +44,45 @@ import com.hanks.htextview.rainbow.RainbowTextView; import com.mxn.soul.flowingdrawer_core.ElasticDrawer; import com.mxn.soul.flowingdrawer_core.FlowingDrawer; import com.skyfishjy.library.RippleBackground; +import com.yarolegovich.discretescrollview.DSVOrientation; +import com.yarolegovich.discretescrollview.DiscreteScrollView; +import com.yarolegovich.discretescrollview.InfiniteScrollAdapter; +import com.yarolegovich.discretescrollview.transform.ScaleTransformer; + +import java.util.List; + +import de.hdodenhof.circleimageview.CircleImageView; public class PersonContent extends Fragment { protected int res; - private ViewPager viewPager; - private RecyclerView rvFeed; - private FlowingDrawer mDrawer; - @Override - public void onAttach(@NonNull Context context) { - super.onAttach(context); - MainActivity mainActivity = (MainActivity) context; - } - + private FlowingDrawer mDrawer; AppCompatActivity appCompatActivity; - public AppCompatActivity getAppCompatActivity() { return appCompatActivity; } +// 与滚动文章有关的变量 +private List data; + private essayGallary essayGallary; + + private TextView currentItemName; + private TextView currentItemPrice; + private ImageView rateItemButton; + private DiscreteScrollView itemPicker; + private InfiniteScrollAdapter infiniteAdapter; +// 与滚动文章有关的变量 + + @Override + public void onAttach(@NonNull Context context) { + super.onAttach(context); + MainActivity mainActivity = (MainActivity) context; + } public void setAppCompatActivity(AppCompatActivity appCompatActivity) { this.appCompatActivity = appCompatActivity; } - - - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment @@ -85,34 +101,91 @@ public class PersonContent extends Fragment { //设置侧滑菜单 setupMenu(); } + + protected void setuptoolbar(){ //分别设置背景和头像 //背景 // ImageView blurimageView = (ImageView) appCompatActivity.findViewById(R.id.iv_blur); - - RippleBackground linearimageView = (RippleBackground) appCompatActivity.findViewById(R.id.linearcontent); - linearimageView.startRippleAnimation(); +//背景波纹图 +// RippleBackground linearimageView = (RippleBackground) appCompatActivity.findViewById(R.id.linearcontent); +// linearimageView.startRippleAnimation(); //头像 ImageView avatarImageView = (ImageView) appCompatActivity.findViewById(R.id.iv_avatar); - Animation anim = AnimationUtils.loadAnimation(appCompatActivity,R.anim.anim_rotate); - anim.setDuration(14000); - avatarImageView.startAnimation(anim); - ImageView drugImageView = (ImageView) appCompatActivity.findViewById(R.id.drug_essays); + Glide.with(getAppCompatActivity()).load(R.drawable.draw7).into(avatarImageView); + ViewOutlineProvider vop = new ViewOutlineProvider() { + @Override + public void getOutline(View view, Outline outline) { + //修改outline + outline.setOval(0,0,view.getWidth(),view.getHeight()); + }}; + avatarImageView.setOutlineProvider(vop); + //二维码 + ImageView QRcodeImageView = (ImageView) appCompatActivity.findViewById(R.id.QRCode); + Glide.with(getAppCompatActivity()).load(R.drawable.qrcodeimage).into(QRcodeImageView); +// Animation anim = AnimationUtils.loadAnimation(appCompatActivity,R.anim.anim_rotate); +// anim.setDuration(14000); +// avatarImageView.startAnimation(anim); +// ImageView drugImageView = (ImageView) appCompatActivity.findViewById(R.id.drug_essays); //drugessays(像动态一样) - Animation animessays = AnimationUtils.loadAnimation(appCompatActivity,R.anim.anim_drugessays); - animessays.setDuration(12000); - drugImageView.startAnimation(animessays); - Glide.with(appCompatActivity).load(R.drawable.draw6).into(avatarImageView); - +// Animation animessays = AnimationUtils.loadAnimation(appCompatActivity,R.anim.anim_drugessays); +// animessays.setDuration(12000); +// drugImageView.startAnimation(animessays); +// Glide.with(appCompatActivity).load(R.drawable.draw6).into(avatarImageView); //用户名 - final TextView rainbowTextView = (TextView) appCompatActivity.findViewById(R.id.user_name_person); + final TextView rainbowTextView = (TextView) appCompatActivity.findViewById(R.id.person_username); rainbowTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } }); + //菜单图片按钮 + ImageView menuImageview = (ImageView) appCompatActivity.findViewById(R.id.set_image); + menuImageview.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + mDrawer.toggleMenu(); + } + }); +/* +* +* ******* +* // 设置滚动的文章按钮,文章画廊 +* **** +* */ + + currentItemName = (TextView) appCompatActivity.findViewById(R.id.item_name); + currentItemPrice = (TextView) appCompatActivity.findViewById(R.id.item_price); +// rateItemButton = (ImageView) appCompatActivity.findViewById(R.id.item_btn_rate); + essayGallary = essayGallary.get(); + data = essayGallary.getData(); + itemPicker = (DiscreteScrollView) appCompatActivity.findViewById(R.id.item_picker); + itemPicker.setOrientation(DSVOrientation.HORIZONTAL); + itemPicker.addOnItemChangedListener(new DiscreteScrollView.OnItemChangedListener() { + @Override + public void onCurrentItemChanged(@Nullable EssayGalleryAdapter.ViewHolder viewHolder, int i) { + int positionInDataSet = infiniteAdapter.getRealPosition(i); + onItemChanged(data.get(positionInDataSet)); + } + }); + infiniteAdapter = InfiniteScrollAdapter.wrap(new EssayGalleryAdapter(data)); + itemPicker.setAdapter(infiniteAdapter); + itemPicker.setItemTransitionTimeMillis(150); + itemPicker.setItemTransformer(new ScaleTransformer.Builder() + .setMinScale(0.8f) + .build()); + onItemChanged(data.get(0)); + + /* + * + * + * + * + * */ + + avatarOnclickListener avatarOnclickListener = new avatarOnclickListener(getAppCompatActivity(),this); avatarOnclickListener.setFlowingDrawerl(mDrawer); avatarImageView.setOnClickListener(avatarOnclickListener); @@ -125,6 +198,7 @@ public class PersonContent extends Fragment { MenuListFragment mMenuFragment = (MenuListFragment) fm.findFragmentById(R.id.id_container_menu); if (mMenuFragment == null) { + Log.i("is","------------it null"); mMenuFragment = new MenuListFragment(); mMenuFragment.setAppCompatActivity(getAppCompatActivity()); fm.beginTransaction().add(R.id.id_container_menu, mMenuFragment).commit(); @@ -133,6 +207,12 @@ public class PersonContent extends Fragment { } - // + //有关文章滚动画廊的方法 + private void onItemChanged(Image item) { + currentItemName.setText(item.getName()); + currentItemPrice.setText(item.getPrice()); +// changeRateButtonState(item); + } + } diff --git a/app/src/main/java/com/example/PersonalCenter/essayGallary.java b/app/src/main/java/com/example/PersonalCenter/essayGallary.java new file mode 100644 index 0000000..2be77e4 --- /dev/null +++ b/app/src/main/java/com/example/PersonalCenter/essayGallary.java @@ -0,0 +1,43 @@ +package com.example.PersonalCenter; + +import android.content.Context; +import android.content.SharedPreferences; + +import com.example.cmknowledgegraph.R; + +import java.util.Arrays; +import java.util.List; +/* +* 文章画廊类 +* */ +public class essayGallary { + private static final String STORAGE = "shop"; + + public static essayGallary get() { + return new essayGallary(); + } + +// private SharedPreferences storage; +// +// private Shop() { +// storage = getInstance().getSharedPreferences(STORAGE, Context.MODE_PRIVATE); +// } + + public List getData() { + return Arrays.asList( + new Image(1, "文章1", "概要1", R.drawable.draw6), + new Image(2, "文章2", "概要2", R.drawable.draw6), + new Image(3, "文章3", "概要3", R.drawable.draw6), + new Image(4, "文章4", "概要4", R.drawable.draw6), + new Image(5, "文章5", "概要5", R.drawable.draw6), + new Image(6, "文章6", "概要6", R.drawable.draw6)); + } + +// public boolean isRated(int itemId) { +// return storage.getBoolean(String.valueOf(itemId), false); +// } +// +// public void setRated(int itemId, boolean isRated) { +// storage.edit().putBoolean(String.valueOf(itemId), isRated).apply(); +// } +} diff --git a/app/src/main/java/com/example/cmknowledgegraph/MainActivity.java b/app/src/main/java/com/example/cmknowledgegraph/MainActivity.java index 37290ea..66d27c4 100644 --- a/app/src/main/java/com/example/cmknowledgegraph/MainActivity.java +++ b/app/src/main/java/com/example/cmknowledgegraph/MainActivity.java @@ -13,6 +13,7 @@ import com.google.android.material.bottomnavigation.BottomNavigationView; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.content.ContextCompat; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; @@ -25,12 +26,23 @@ public class MainActivity extends AppCompatActivity { private TextView mTextMessage; private FragmentTransaction transaction; private FragmentManager fragmentManager; + public AppCompatActivity appCompatActivity; +// private static ContextCompat contextCompat; BottomNavigationView navView; - public final AppCompatActivity getAppCompatActivity(){ + public AppCompatActivity getAppCompatActivity(){ return this; } - + public void setAppCompatActivity(AppCompatActivity appCompatActivity){ + this.appCompatActivity = appCompatActivity; + } +// +// public static ContextCompat getComtextCompat() { +// return contextCompat; +// } +// private void setContextCompat(ContextCompat contextCompat){ +// this.contextCompat=contextCompat; +// } private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener = new BottomNavigationView.OnNavigationItemSelectedListener() { @@ -98,7 +110,8 @@ protected void onCreate(Bundle savedInstanceState) { navView = findViewById(R.id.nav_view); mTextMessage = findViewById(R.id.message); navView.setOnNavigationItemSelectedListener(mOnNavigationItemSelectedListener); - +// setAppCompatActivity(this); +// setContextCompat(contextCompat); } diff --git a/app/src/main/java/com/example/cmknowledgegraph/PersonalityCenterActivity.java b/app/src/main/java/com/example/cmknowledgegraph/PersonalityCenterActivity.java index 6e23a51..fc99511 100644 --- a/app/src/main/java/com/example/cmknowledgegraph/PersonalityCenterActivity.java +++ b/app/src/main/java/com/example/cmknowledgegraph/PersonalityCenterActivity.java @@ -16,6 +16,7 @@ public class PersonalityCenterActivity extends AppCompatActivity { Log.i("PersonalityCenterActivity","个人中心"); super.onCreate(savedInstanceState); setContentView(R.layout.activity_personality_center); + } diff --git a/app/src/main/res/drawable/ic_arrow_back_black_24dp.png b/app/src/main/res/drawable/ic_arrow_back_black_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..73f1dda9c64639cdf7ee0a7adf247ae51a342ee1 GIT binary patch literal 147 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/mirror_light_ctrl_green.png b/app/src/main/res/drawable/mirror_light_ctrl_green.png new file mode 100644 index 0000000000000000000000000000000000000000..3eddc5f7b2e28c54237da7b6a7659ce485cce0db GIT binary patch literal 3108 zcmds(do+~m9>-^xtuYzBuDPXm7;T+N(iTZ!G&0mSCATvoN$wcDFgjW+&I}V*w#5a0^aGW=lnwtW|p7Idm&{Cw;Pe) z>l+o>DM@8#VjHaE={Cf&d~7Ak(}`D<@97kMN}r30PCp}CL1%gyq{q3OR5;by%eAqy zI*l|oHOkCnDR=lx4Tk8nC$W6|B8PM}nR`}^%!O$yqNy6;M`4K2Ol(%Sxpqj@yq6zm z3Bsgsie6=KIN+8EL)1T$MkD|<@G6A{ZGvEk56F=n4Jn$x=wM)Y9a#;(J_Q;WInbse z3r8y2wH@qCfgzrcC2)vHD;AOdE;AAVGIy9>v9X5H35v!7t}YD!p(+=rCft4>PMzSc~f;j$%|nx ztbMu?4U~a*`Dt2WCNpkwV}9E-w2WEa=#F4K*LOYvqpQW879a3q`j3^V?z&#<9>Vk8 zr}`vO)(T*R&GHJ0$$P_L)K+r3<2e*m#tCSExqwfA29SvKhT&L_NN)g(FrujtcO#6D zigdNtsC;F*8bTH?=k=W<8Hu00oLuPh`u6^I3-9}3@3JR6R4oQdDygpqemJJsAPR@e ztInd@F?*YvxdRmUvG_*7r}B%o(Yz;)#%?n$;LlqcT-QcixnjYrnvL+mCeNSoq^Y6 zHES4E$1$2soXq8iV++|{rt0+K*Jye#?@@3y$ka2dVYtz8ZkmYaa>0(3Ap(hr!jG&r z$qgk3kw$|6^B5BkJ3WejqR_K!CPI|AQR?>bJ?YZ}F|$oO15_3GPG(f6catzpeSlv< z-k|+8ao^$A54+=me2e~GQVU73UDtO?-BrkL%jqPqy7MDOldhc4&NI%^N!2CSN&f=S z2XYT@D#cz_A2vrtJh*?YM{g&$s>}Up6c$gA_fdbkYWyzY=3I8TPESGLltcA(!C;Hw z9Wd&$zcw!q^>}$RfwGSoB7-m@YW>3_pzw0^I8dfcYIi&+gSQ5x-EQ2m1{ffQ2`{#? z$1w4%<)Ll{q5PuTaTAtMP%J)Utd`{XH&H=7%(445h8{P|f4P{;?ThaICa45>tYr2s zx&pm+=I+2o#(F>1&HoU8JR*6R6LMAi*X@umuiDXG15yCOaNAc0qiM7q@EXSdkfBl@ zNH|-bm<@@WS5)_spDvYJO#aT5OsE(j@yhY3J%3VKpA-_N)pf{g)lM9vPWM6k)yA4^ z6^Ry7(d~`W<2xB0M(W-eC7gUxUg%2+L~3@ z8eySMpKfW4ezxfOQB7%H%fyPALUQe|F5anlN*5u!Cm6}T_z1wB%^oVmvto2<;FqOO z7HImoCLGb6QMeKSV26<)vGy>J!~nk>JNZXfHEqY&7sy838b|+pm-=uilb`f*rwwpm z`__o~X&__VhrCcz;#>M%lJZfOX!2SE*In0&YQAXL5jYoby*1pAlDh&4QkJ^M^?G?U ze%7?|;^UTo_;;Zuk-PLPCN=N8 zoAQ$uRebKLRdHrbgtoudqWcr;!?z&4Wd)DWkQ6&yQ22rGAA7RwM3rW9ep7>a`a?== z`=vJJ93Jqd2jmYv#waY)TaMnJHXT;TJ)%Ji5Z%a3iNwwGFfoZ09R?b1+pSrW;PaM? z^TWqCm@@vT$j^oQHvNC;kU$gqtAC(DcNX5Ghf}s@nY)t&p(3M<#nBvgXH(ap!<@aV z@8{s4CtH46+TFeOvYKxtU*#UoZJr=-e(VxF)Gp~GIp-o48AWcS9nQeo;U@oA)~xn} zDg`L0{VM;g{V@E}#7wLPqS;gm$u=a3JE50RuwunfqH|2zgFYyYGTy45WBXNi2{2;5 zsuvvTNMoIFEnd05Q~rx>*Xe+Yb(_x2=iNtHR%xX|lUjoop~2zXHlC!Qhr=?_5C*LW>l1TxAy4IEZ<%L7t3#Q$zdi&heY;Wl z?;#faXO64wGTZe)d^~#M{q~I-QzZ`~bNJrRl@1yyM_+|QWCR~Ax+f22wc!YB@e_S< z(-kv;s}x46zOw^F7=&?qQ0;Dlu(Kg=54umkDZJl0s{`bo;%Kb8+rfr z3;Uieq|o)CJJcsh{aa&ft6o!naR1?`pnWrm>n#$&;<*>LDpwT~;E_H)k2a^Hr{Y?uDqrJ_zb?R-zxU#H0Fz_8QWPYNN@G`~z6 z*@4~0uMnVNe_3+**oI?W-MEq-|B`M+E493%gu61D^eHuL!qK?M z$>jQ*!qV~md){MaHxmy~gLrkzhS;SFEwT2Y#Q2Z%&c*XGQESb*{ z^9Odh5?xl6FXWS+6XZwEcGw;-dNaZAqgEB4r2mvK=+RX~AK6kcaG|U_4dTnCe<36M z5l`LMl5><6x4tDyREEOR-Fwh~7l|OYJfgU-P|14f)kOce7kNIW=NpPt;mIqS)n<8y z>vicf!y;Nr3xqK4w_G$DR(78X$&)J6YXynz@j`yL`5uN} y^P{1ap`4WXwmxtJiawj_UeaF)`2Tx+gz95v|NAqY`UWWd!|ZGv2pnrK`dZxo}NhY9sG6-Tq z#C+|4r8lTt5GCA=%HDdJDGCZ4n6cUsJHGKN6FZa{LB0~v-9|~zx-x9UjL4EceYWSZ zpLa<}=b3@g{ej6zeWMe_iB)6sPbw!H)8d12JV_ZXe!8o6LxjvhfFxDxWCnl`*s)9( zY%|NqP!N(y7A{Q&vR2Ger6E^-u+RY>?JKJ$>4JRj!`%TK0f9kH)jjsThTTtY9)hs-vGF)*|91{E>Zq37y8`+hr#ZAQgbw|3U7 zK=gqec-e4g`6@(TKO0`Avuj8Jk#$)ZNOH2sgp?8l<3dhfWkKX+2zF$xlUX*T%wl3H zrj4ZxBI+_Rz~9C^7s_p6@aXl7d~a0RqJ(K0p`=5=Bgmc=nqjHp%+ebMaiqg5eFH zK}W;Ul|cwbd@&nhj-*O_0(0OCs`gVyp?w<+PfOq|t#$k+v|K!I#K9J7+H2UTL+sSH zFL;gyj1U7!R3Q-?Sp`Z)PIOFEBiJDpf*!go9ykHIKV0bJpcht}#-?S%ee3_< z>BI;XHr$7}4UcYLUpw`g(SEWze!#=-
  • 2u6JJ|pXt8jDCMQ0{w<+>`E`Qo>h_as zzGz5ouBx)R7}7Xng>?TDaI?{N>T}SZ!KS2ZRaI+<4Jm2O!ru;v#UFFdMqjD`FF%Z_ zy%ttmRdqel4Sq@&?QUg}TK_oZYb(0#Yk<7G^dN$-b`Be}td={38HbRP6&Cd*c0!(L zO;T4{^ZeC&rtkDxuhBbfmrzXft$XsMCUWe3)A3jDBx7ua`x1OwWFLR}%_Z&DY^u_W zg{qhxmZQbfZFEl3tgrvx<4OC||+7=HSy_S$p9y(%lxgEw8YjHDaJNWt*WG4F=bE8_#OJOpqTKG0mE}8waWOj~}enICsvr z`L=9+|3C4SBO7Ie-q;F|LX66D=xUsj6=jqfKUlgh4fieoA=~rf*xa<1qFpKRW#Xtu z1=u6&QLXzy?Ph6NjYdX&IFz@}L7R4enhw+5 z1Zg4l#v(AB=Syb$*!|c%yC8dUJ08$3EpbF~A*{XO7iSkPXa}q2^~z8$LR^fkWV!YE@#HRd3y<2lBjEsE~6D-?O=+_m)g%rcR5ZkU!dsWf z3GVR$9=9)ez6?*!lI+B(eUoG>f$8JTi~Gbxaeg=vFJfM1j8Ob1N5JQ`ECq0=gPIE| zW4FhZ8s!ICk>pFAU59gHmrpdO)7%8jVQWoXf%^7uy;1J%Gl`zWH9F62OmlI+0t)C{ z;B8XqZ@&iD3SHVE4p8EHjEQE(I{)x40-q#d>*}Qj1QgO$gt@N9(wvT}S+E_#J$zgN z{`7rI@cb2R?33$yj3t^fKJa7taPwlyK*Qh^RdsIIrP2f-|NP`GS*SZ?AM+Y#bt1r4 z0`}DR-ZZwX9m}`uw%VwO2yIr#8;8 z0u-@)dY=U~J$IEms2pSg#aeT6)E9fy&KL2AQ444q6T$G#3&x0|;&t)Cb#4OQuTV#^ z-wkcB^?#5JslwO2&$6@>f6)sS?cBOs!2t1G%GBae!^Acu2dBEOj}JJsZy0S_oEZ=M zr(#zH7$I*=c+vLRWsl}#ayO(bvpH{FK;v>Bxz4&oKJY!r@>WM!Ke;!R_xn zOJ`>9DZLWv3;B6a2ey1MY}o3UgV7#6In~#7x-AV-nbbGcS%uaLM&%B_t?-v z$2y9375V6bKLMQWW&o*NUff@S5hSZy9|`nz09!`%feZio)K6AXU#066m_}#dKUV_J L+mBtx3YYv1D(JTd literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/qrcodeimage.jpeg b/app/src/main/res/drawable/qrcodeimage.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..656a1a353b9ef77d937a2d856f654fd03ca6ac3f GIT binary patch literal 14317 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 I>8V5i3yp}Xg#Z8m literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/voiceprint.png b/app/src/main/res/drawable/voiceprint.png new file mode 100644 index 0000000000000000000000000000000000000000..d57da2b23ee1cd984ca92adce811f8f4904d7807 GIT binary patch literal 2621 zcmeH}{X3ND7r@8vqb7xC7_VdVm_-tmyd_$m%!n(ERLVKk8NX(<5g#@BflmH#dNdv*T_Jf7hCTL8!k5XK6TK;Kr)XP0HV4e|0MG z4pf%`){HvbbjCuC`pJPgM*#4DR)xS-wJaphd-@xRt*c%%2DU7MJ1qP)gg@=*(0C-Q? zo$%1p)APKBze6{FYND)S-kBiPVC;|qa@vb3R0F(YHxVs)J1tf-+UHUWwm<39Rj@+|O8W+}ap#0zag4qy# zAIDlBxi|JS*bE3s*mKncDe?_Uy_!_(8jRYT!u<^$ee&sPD~@wo%CHT*(ZU`iFaB#B zp2#bumvGL3`?{+2mJgU=Pn>C41^Yi}s;H>gl3K8M7w6H@oU0-*YD?rXIyC(iQd$oA zyNP|%tYYR~b+28H{iNM-wg1*bkVGmjeq}W=Sb9I|NQtrkFS4yj%@*R#y$3Q)#!JF0 zMR?}J>zqXBbq8r#j~LUVJMBV~)Cx0i=(XI>+%R1gE$P#Cd-AciB0BDk`8A8f^GMp^ ztVff_9OA0nKbUGMDBg?BK(Zh)?aq_HxHDA6`UO9j8=|dKIX;a`klQA0Eku$aECM<1 zmD+;<3<5dM@un?Qi!foY-x~CIKq7m`YsC;Y`K6ju>MKKUp_?Yv8{?0aQEwO&%o8Z> zP#(OU6}js9x<(D%H?Hc2Sd|31U9wk@eQ*&31E(WS&X`4jgD6iSQMr02f+tM%Bpy?k)aqiLFPdHO%p4mV zTkaWBWBQY=qu(qRKa-TQjfG;hgGM}KPw%YNJjQ55c#RQ}zW}8VE^fE9WmGif&J;Fy z&?K3{`#LRQvK!lGVsT3p()wI*>3f>whHzGE$6!Bpzel%nd-df|MdxOtW1@lbE2#s; z+QZlheR4U7kFi~3H78NUY+Kp1@YI1NZ$%4a)+)-QUi*-s>Px+r|qad;A zxe33a>K{1}1KR~1rJ?V~sSNA&=FeS~zY2{F!yit_r;BE*L<`!AQX|io`eWmqqwUpu+_H}L9$@N+T|c-mv$HHpZIiP-#g1TsYP7Ej%;7{!Z!`l*VP65j2792X?Xl4lglyl@R-YEOg-EiVofhu-g-xi zF9oT05OP-ij`4o2u1gdfPbQF44SmRC@Oh1b%Zw*|Ea8l3 z;3$|N@-nSWHJ9`B=ys#gXo+biE_A@M*(bXFjD?m$-Q?VIrSqWBXm);m(JT803XI@$l|PYi3@2Z zbPtkPT_I8JRPEqWFO5RC0bCzs7eXm*6hkw_pl~gWf6in(fG+#!X7*f*qUIlz;gOjz zGfl*-@oJYk>|S-Q3~8*Kz#O$B=^~$$sF7y!dKxUhyTwB=E{J zNxny3;FBvjlGU=?eG_$P`lPE??wtphISU literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_personality_center.xml b/app/src/main/res/layout/activity_personality_center.xml index f24d26a..6d60bec 100644 --- a/app/src/main/res/layout/activity_personality_center.xml +++ b/app/src/main/res/layout/activity_personality_center.xml @@ -37,74 +37,230 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - //头像 - - //用户名 - - - - + > + + + + + + + + + + + + + + + + + + + + + + + + + - - + + + + + + + - 设置几个选项 + android:layout_below="@+id/personal_head_card"> @@ -144,6 +300,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="饮食爱好" + android:textSize="12dp" android:layout_gravity="center_horizontal" > @@ -153,14 +310,16 @@ android:id="@+id/person_cardview_relalinearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:layout_alignLeft="@+id/person_cardview_relalinearLayout1" + android:layout_marginLeft="90dp" android:orientation="vertical" android:layout_marginTop="10dp" android:layout_centerHorizontal="true" > - - - - - + + + + + + + + + + + + + + + + + + + + + + + + > @@ -218,6 +379,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="养生推荐" + android:textSize="12dp" android:layout_gravity="center_horizontal"/> @@ -226,13 +388,14 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" - android:layout_below="@+id/person_cardview_relalinearLayout2" - android:layout_marginTop="5dp" + android:layout_alignLeft="@+id/person_cardview_relalinearLayout4" + android:layout_marginLeft="90dp" + android:layout_marginTop="10dp" android:layout_centerHorizontal="true"> @@ -241,6 +404,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="消息通知" + android:textSize="12dp" android:layout_gravity="center_horizontal"/> @@ -251,6 +415,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/item_shop_card.xml b/app/src/main/res/layout/item_shop_card.xml new file mode 100644 index 0000000..661c7e7 --- /dev/null +++ b/app/src/main/res/layout/item_shop_card.xml @@ -0,0 +1,17 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 998eeb8..1c5b086 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -49,4 +49,68 @@ + + + @android:color/transparent + #cc000000 + #b4ffffff + #FFC107 + + #84ceca + + #3453d1 + #6d69ff + #cd47c6 + + + @color/gradientPeriodicClouds_c1 + @color/gradientPeriodicClouds_c2 + @color/gradientPeriodicClouds_c3 + + + #62bff5 + #61b3e5 + #5d8fb2 + + + @color/gradientCloudy_c1 + @color/gradientCloudy_c2 + @color/gradientCloudy_c3 + + + #51bbf5 + #71c3ee + #f3e5d2 + + + @color/gradientMostlyCloudy_c1 + @color/gradientMostlyCloudy_c2 + @color/gradientMostlyCloudy_c3 + + + #5b64be + #6084df + #64a2ff + + + @color/gradientPartlyCloudy_c1 + @color/gradientPartlyCloudy_c2 + @color/gradientPartlyCloudy_c3 + + + #6d4fbe + #6c56be + #a189f1 + + + @color/gradientClear_c1 + @color/gradientClear_c2 + @color/gradientClear_c3 + + + + #84ceca + #727272 + #ffeb5a + #51b2ac diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 2784832..a33d5f1 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -42,4 +42,10 @@ true @color/drawerArrowColor + + +