Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
R
RvApp
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lify
RvApp
Commits
209f8c60
Commit
209f8c60
authored
Jul 01, 2019
by
jianglx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善会员模块;修改MainActivity 的启动模式为SingTask
parent
08971661
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
426 additions
and
182 deletions
+426
-182
AndroidManifest.xml
RvClient/src/main/AndroidManifest.xml
+5
-3
MainActivity.java
RvClient/src/main/java/com/test/rv/MainActivity.java
+15
-7
MemberCenterActivity.java
.../main/java/com/rv/rvmine/member/MemberCenterActivity.java
+13
-5
GridMemerAdapter.java
...n/java/com/rv/rvmine/member/adapter/GridMemerAdapter.java
+116
-0
MemberListAdapter.java
.../java/com/rv/rvmine/member/adapter/MemberListAdapter.java
+100
-33
MemberCardDetailView.java
.../java/com/rv/rvmine/member/view/MemberCardDetailView.java
+0
-101
shape_rv_bg_member_selected.xml
...ine/src/main/res/drawable/shape_rv_bg_member_selected.xml
+1
-1
shape_rv_bg_member_top_grap.xml
...ine/src/main/res/drawable/shape_rv_bg_member_top_grap.xml
+5
-0
shape_rv_bg_member_top_purple.xml
...e/src/main/res/drawable/shape_rv_bg_member_top_purple.xml
+5
-0
item_member_detail.xml
module_mine/src/main/res/layout/item_member_detail.xml
+9
-9
item_member_detail_view.xml
module_mine/src/main/res/layout/item_member_detail_view.xml
+4
-3
view_member_privilege.xml
module_mine/src/main/res/layout/view_member_privilege.xml
+138
-17
view_member_type.xml
module_mine/src/main/res/layout/view_member_type.xml
+8
-0
strings.xml
module_mine/src/main/res/values/strings.xml
+7
-3
No files found.
RvClient/src/main/AndroidManifest.xml
View file @
209f8c60
...
...
@@ -157,7 +157,9 @@
android:screenOrientation=
"portrait"
android:theme=
"@android:style/Theme.Translucent.NoTitleBar"
/>
<!-- umShare 相关 end -->
<activity
android:name=
".MainActivity"
<activity
android:name=
".MainActivity"
android:launchMode=
"singleTask"
android:screenOrientation=
"portrait"
/>
<activity
...
...
@@ -313,7 +315,7 @@
</receiver>
<!-- ===============================FrameBase框架End=========================== -->
<!-- ================================================================= -->
<!-- 我的模块 -->
<!-- 身份证认证 -->
<!-- 身份证认证 -->
<activity
android:name=
"com.rv.rvmine.personal.IDCardCertificationActivity"
android:launchMode=
"singleTask"
...
...
@@ -355,7 +357,7 @@
android:launchMode=
"singleTask"
android:screenOrientation=
"portrait"
/>
<!-- ================================================================= -->
<!-- =================================营地======================================= -->
<!-- 营地详情 -->
<!-- 营地详情 -->
<activity
android:name=
"com.rv.camp.camp.CampDetailActivity"
android:launchMode=
"singleTask"
...
...
RvClient/src/main/java/com/test/rv/MainActivity.java
View file @
209f8c60
...
...
@@ -33,7 +33,7 @@ import butterknife.OnClick;
public
class
MainActivity
extends
BaseActivity
<
CommonPresenter
>
{
// @BindView(R2.id.pager_view_fragment)
// @BindView(R2.id.pager_view_fragment)
CustomScrollViewPager
viewPager
;
@BindView
(
R2
.
id
.
iv_home
)
ImageView
ivHome
;
...
...
@@ -74,7 +74,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
@Override
protected
void
initView
(
Bundle
savedInstanceState
,
TitleView
titleView
,
Intent
intent
)
{
viewPager
=
findViewById
(
R
.
id
.
pager_view_fragment
);
viewPager
=
findViewById
(
R
.
id
.
pager_view_fragment
);
showTitle
(
false
);
mAdapter
=
new
TabAdapter
(
getSupportFragmentManager
(),
getListFragment
());
viewPager
.
setAdapter
(
mAdapter
);
...
...
@@ -103,15 +103,15 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
@OnClick
({
R2
.
id
.
rl_home
,
R2
.
id
.
rl_travel
,
R2
.
id
.
rl_camp
,
R2
.
id
.
rl_found
,
R2
.
id
.
rl_mine
})
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
rl_home
)
{
if
(
id
==
R
.
id
.
rl_home
)
{
setCurrent
(
TYPE_HOME_PAGE
);
}
else
if
(
id
==
R
.
id
.
rl_travel
)
{
}
else
if
(
id
==
R
.
id
.
rl_travel
)
{
setCurrent
(
TYPE_TRAVEL
);
}
else
if
(
id
==
R
.
id
.
rl_camp
)
{
}
else
if
(
id
==
R
.
id
.
rl_camp
)
{
setCurrent
(
TYPE_CAMP
);
}
else
if
(
id
==
R
.
id
.
rl_found
)
{
}
else
if
(
id
==
R
.
id
.
rl_found
)
{
setCurrent
(
TYPE_FOUND
);
}
else
if
(
id
==
R
.
id
.
rl_mine
)
{
}
else
if
(
id
==
R
.
id
.
rl_mine
)
{
setCurrent
(
TYPE_MINE
);
}
}
...
...
@@ -168,6 +168,14 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
return
super
.
dispatchKeyEvent
(
event
);
}
@Override
protected
void
onNewIntent
(
Intent
intent
)
{
super
.
onNewIntent
(
intent
);
if
(
intent
!=
null
&&
"use_member"
.
equals
(
intent
.
getStringExtra
(
"from"
)))
{
setCurrent
(
TYPE_HOME_PAGE
);
}
}
/**
* 退出APP
*/
...
...
module_mine/src/main/java/com/rv/rvmine/member/MemberCenterActivity.java
View file @
209f8c60
...
...
@@ -82,10 +82,9 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
TextView
tvPurchaseRecord
;
private
MemberListAdapter
adapter
;
private
UserInfoBean
.
UserInfo
info
;
private
IWXAPI
api
;
private
int
memberLevel
=
0
;
// 会员等级
public
static
Intent
getIntent
(
Context
context
)
{
return
new
Intent
(
context
,
MemberCenterActivity
.
class
);
...
...
@@ -111,7 +110,7 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
.
subscribe
(
new
Consumer
<
PaymentSuccessfulEvent
>()
{
@Override
public
void
accept
(
PaymentSuccessfulEvent
payEvent
)
throws
Exception
{
finish
();
getUserData
();
}
});
...
...
@@ -134,7 +133,7 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
switch
(
requestType
)
{
case
0
:
if
(
adapter
==
null
)
{
adapter
=
new
MemberListAdapter
(((
MemberListBean
)
result
).
getData
(),
MemberCenterActivity
.
this
,
payListener
);
adapter
=
new
MemberListAdapter
(((
MemberListBean
)
result
).
getData
(),
memberLevel
,
MemberCenterActivity
.
this
,
payListener
);
recyclerView
.
setAdapter
(
adapter
);
}
else
{
adapter
.
setDate
(((
MemberListBean
)
result
).
getData
());
...
...
@@ -224,7 +223,7 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
}
tvConsumeRecord
.
setText
(
info
.
getPayCount
()
+
"\n 消费记录"
);
tvFreeDay
.
setText
(
info
.
getRentFreeDays
()
+
"\n 可免费租车 (天)"
);
tvFreeDay
.
setText
(
info
.
getRentFreeDays
()
+
"\n 可免费租车 (天)"
);
tvFreeDay
.
setText
(
info
.
getBuyCount
()
+
"\n 购买记录 (次)"
);
}
...
...
@@ -239,9 +238,18 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
tvVerified
.
setVisibility
(
View
.
VISIBLE
);
if
(
info
!=
null
)
{
ivMember
.
setVisibility
(
View
.
VISIBLE
);
if
(
info
.
getIsMember
()
==
0
)
{
memberLevel
=
1
;
if
(
adapter
!=
null
)
{
adapter
.
setMemberLevel
(
memberLevel
);
}
ivMember
.
setImageResource
(
R
.
drawable
.
mycenter_icon_goldmembership_1
);
}
else
{
memberLevel
=
info
.
getMemberLevel
();
if
(
adapter
!=
null
)
{
adapter
.
setMemberLevel
(
memberLevel
);
}
switch
(
info
.
getMemberLevel
())
{
case
1
:
ivMember
.
setImageResource
(
R
.
drawable
.
mycenter_icon_ord_membership
);
...
...
module_mine/src/main/java/com/rv/rvmine/member/adapter/GridMemerAdapter.java
0 → 100644
View file @
209f8c60
package
com
.
rv
.
rvmine
.
member
.
adapter
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.text.SpannableString
;
import
android.text.Spanned
;
import
android.text.style.AbsoluteSizeSpan
;
import
android.text.style.ForegroundColorSpan
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.BaseAdapter
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.rv.rvmine.R
;
import
com.rv.rvmine.bean.MemberListBean
;
import
java.util.List
;
public
class
GridMemerAdapter
extends
BaseAdapter
{
private
int
selecPosition
;
private
Context
mContext
;
private
List
<
MemberListBean
.
MemberCard
>
mData
;
private
SelectListener
mListener
;
public
interface
SelectListener
{
void
select
(
MemberListBean
.
MemberCard
memberCard
);
}
public
GridMemerAdapter
(
Context
context
,
List
<
MemberListBean
.
MemberCard
>
lists
,
SelectListener
listener
)
{
this
.
mContext
=
context
;
this
.
mData
=
lists
;
this
.
mListener
=
listener
;
}
@Override
public
int
getCount
()
{
return
mData
.
size
();
}
@Override
public
Object
getItem
(
int
i
)
{
return
mData
.
get
(
i
);
}
@Override
public
long
getItemId
(
int
i
)
{
return
i
;
}
@Override
public
View
getView
(
final
int
i
,
View
view
,
ViewGroup
viewGroup
)
{
final
MemberListBean
.
MemberCard
memberCard
=
mData
.
get
(
i
);
ViewHolder
holder
;
if
(
view
==
null
)
{
view
=
LayoutInflater
.
from
(
mContext
).
inflate
(
R
.
layout
.
item_member_detail_view
,
null
);
holder
=
new
ViewHolder
();
holder
.
rl_content
=
view
.
findViewById
(
R
.
id
.
rl_content
);
holder
.
tv_discount
=
view
.
findViewById
(
R
.
id
.
tv_discount
);
holder
.
tv_free_day
=
view
.
findViewById
(
R
.
id
.
tv_free_day
);
holder
.
tv_price
=
view
.
findViewById
(
R
.
id
.
tv_price
);
holder
.
tv_type_icon
=
view
.
findViewById
(
R
.
id
.
tv_type_icon
);
view
.
setTag
(
holder
);
}
else
{
holder
=
(
ViewHolder
)
view
.
getTag
();
}
SpannableString
s
=
new
SpannableString
(
"¥"
+
memberCard
.
getPrice
());
s
.
setSpan
(
new
AbsoluteSizeSpan
(
12
,
true
),
0
,
1
,
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
s
.
setSpan
(
new
AbsoluteSizeSpan
(
18
,
true
),
1
,
s
.
length
(),
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
s
.
setSpan
(
new
ForegroundColorSpan
(
Color
.
parseColor
(
"#FFB74B"
)),
1
,
s
.
length
(),
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
holder
.
tv_price
.
setText
(
s
);
holder
.
tv_discount
.
setText
(
"永久"
+
memberCard
.
getDiscount
()
/
10
+
"折租车"
);
holder
.
tv_free_day
.
setText
(
memberCard
.
getNumber
()
+
"天免费租车"
);
holder
.
tv_type_icon
.
setText
(
memberCard
.
getName
());
switch
(
memberCard
.
getLevel
())
{
case
1
:
holder
.
tv_type_icon
.
setBackgroundResource
(
R
.
drawable
.
member_icon_reg_members
);
break
;
case
2
:
holder
.
tv_type_icon
.
setBackgroundResource
(
R
.
drawable
.
member_icon_gold_membership
);
break
;
case
3
:
holder
.
tv_type_icon
.
setBackgroundResource
(
R
.
drawable
.
member_icon_dia_membership
);
break
;
}
if
(
selecPosition
==
i
)
{
holder
.
rl_content
.
setBackgroundResource
(
R
.
drawable
.
shape_rv_bg_member_selected
);
}
else
{
holder
.
rl_content
.
setBackgroundResource
(
R
.
drawable
.
shape_rv_bg_member_unselected
);
}
holder
.
rl_content
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
selecPosition
=
i
;
mListener
.
select
(
memberCard
);
notifyDataSetChanged
();
}
});
return
view
;
}
private
class
ViewHolder
{
RelativeLayout
rl_content
;
TextView
tv_price
;
TextView
tv_discount
;
TextView
tv_free_day
;
TextView
tv_type_icon
;
}
}
module_mine/src/main/java/com/rv/rvmine/member/adapter/MemberListAdapter.java
View file @
209f8c60
package
com
.
rv
.
rvmine
.
member
.
adapter
;
import
android.app.Activity
;
import
android.content.ComponentName
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.support.annotation.NonNull
;
import
android.support.annotation.Nullable
;
...
...
@@ -13,14 +16,14 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Button
;
import
android.widget.GridView
;
import
android.widget.ImageView
;
import
android.widget.
Linear
Layout
;
import
android.widget.
Relative
Layout
;
import
android.widget.TextView
;
import
com.ruiwenliu.wrapper.util.glide.GlideManager
;
import
com.rv.rvmine.R
;
import
com.rv.rvmine.bean.MemberListBean
;
import
com.rv.rvmine.member.view.MemberCardDetailView
;
import
com.rv.rvmine.member.view.MemberCardView
;
import
java.util.List
;
...
...
@@ -29,23 +32,36 @@ public class MemberListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
private
Context
mContext
;
private
List
<
MemberListBean
.
MemberCard
>
mData
;
private
int
selectPosition
;
private
PayListener
payListener
;
private
int
memberLevel
;
private
GridMemerAdapter
adapter
;
private
MemberListBean
.
MemberCard
selectCard
;
public
interface
PayListener
{
void
pay
(
MemberListBean
.
MemberCard
card
);
}
public
MemberListAdapter
(
@Nullable
List
<
MemberListBean
.
MemberCard
>
data
,
Context
context
,
PayListener
listener
)
{
public
void
setMemberLevel
(
int
memberLevel
)
{
this
.
memberLevel
=
memberLevel
;
notifyDataSetChanged
();
}
public
void
setDate
(
List
<
MemberListBean
.
MemberCard
>
data
)
{
initData
(
data
);
notifyDataSetChanged
();
}
public
MemberListAdapter
(
@Nullable
List
<
MemberListBean
.
MemberCard
>
data
,
int
memberLevel
,
Context
context
,
PayListener
listener
)
{
this
.
memberLevel
=
memberLevel
;
this
.
mContext
=
context
;
this
.
payListener
=
listener
;
initData
(
data
);
}
private
void
initData
(
List
<
MemberListBean
.
MemberCard
>
data
)
{
selectPosition
=
1
;
data
.
add
(
0
,
null
);
mData
=
data
;
selectCard
=
mData
.
get
(
1
);
}
...
...
@@ -84,6 +100,7 @@ public class MemberListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
private
void
setHeadViewData
(
final
HeadViewHolder
viewHolder
)
{
setMemeberTop
(
viewHolder
);
SpannableString
spannableString
=
new
SpannableString
(
viewHolder
.
tv_agreement
.
getText
());
spannableString
.
setSpan
(
new
ForegroundColorSpan
(
Color
.
parseColor
(
"#FFB74B"
)),
6
,
spannableString
.
length
(),
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
viewHolder
.
tv_agreement
.
setText
(
spannableString
);
...
...
@@ -107,34 +124,75 @@ public class MemberListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
@Override
public
void
onClick
(
View
view
)
{
if
(
payListener
!=
null
)
{
payListener
.
pay
(
mData
.
get
(
selectPosition
)
);
payListener
.
pay
(
selectCard
);
}
}
});
initGridView
(
viewHolder
);
viewHolder
.
btn_buy
.
setText
(
"立即开通"
+
selectCard
.
getName
());
viewHolder
.
btnDisountUse
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
toMainActivity
();
}
});
viewHolder
.
gridview
.
removeAllViews
();
for
(
int
i
=
1
;
i
<
mData
.
size
();
i
++)
{
if
(
mData
.
get
(
i
)
!=
null
)
{
final
int
finalI
=
i
;
MemberCardDetailView
cardDetailView
=
new
MemberCardDetailView
(
mContext
,
mData
.
get
(
i
),
new
MemberCardDetailView
.
MyClickListener
()
{
@Override
public
void
onClick
(
MemberCardDetailView
view
)
{
selectPosition
=
finalI
;
viewHolder
.
btn_buy
.
setText
(
"立即开通"
+
mData
.
get
(
selectPosition
).
getName
());
for
(
int
i
=
0
;
i
<
viewHolder
.
gridview
.
getChildCount
();
i
++)
{
if
(
view
!=
viewHolder
.
gridview
.
getChildAt
(
i
))
{
((
MemberCardDetailView
)
viewHolder
.
gridview
.
getChildAt
(
i
)).
unSelect
();
}
}
}
});
if
(
i
==
selectPosition
)
{
cardDetailView
.
select
();
viewHolder
.
btn_buy
.
setText
(
"立即开通"
+
mData
.
get
(
selectPosition
).
getName
());
viewHolder
.
btnFreedayUse
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
toMainActivity
();
}
});
}
private
void
toMainActivity
()
{
ComponentName
componentName
=
new
ComponentName
(
mContext
,
"com.test.rv.MainActivity"
);
Intent
intent
=
new
Intent
();
intent
.
putExtra
(
"from"
,
"use_member"
);
intent
.
setComponent
(
componentName
);
mContext
.
startActivity
(
intent
);
}
private
void
initGridView
(
final
HeadViewHolder
viewHolder
)
{
viewHolder
.
gridview
.
setNumColumns
(
mData
.
size
()
-
1
);
if
(
adapter
==
null
)
{
adapter
=
new
GridMemerAdapter
(
mContext
,
mData
.
subList
(
1
,
mData
.
size
()),
new
GridMemerAdapter
.
SelectListener
()
{
@Override
public
void
select
(
MemberListBean
.
MemberCard
memberCard
)
{
selectCard
=
memberCard
;
viewHolder
.
btn_buy
.
setText
(
"立即开通"
+
memberCard
.
getName
());
}
viewHolder
.
gridview
.
addView
(
cardDetailView
);
});
}
viewHolder
.
gridview
.
setAdapter
(
adapter
);
}
private
void
setMemeberTop
(
final
HeadViewHolder
viewHolder
)
{
if
(
memberLevel
>
0
)
{
viewHolder
.
rlTop
.
setVisibility
(
View
.
VISIBLE
);
switch
(
memberLevel
)
{
case
1
:
viewHolder
.
imgDiscountTop
.
setImageResource
(
R
.
drawable
.
member_discount_8
);
viewHolder
.
tvDiscountTop
.
setText
(
"租车8折"
);
viewHolder
.
imgFreedayTop
.
setImageResource
(
R
.
drawable
.
member_free_day_5
);
viewHolder
.
tvFreedayTop
.
setText
(
"免费用车"
+
mData
.
get
(
1
).
getNumber
()
+
"天"
);
break
;
case
2
:
viewHolder
.
imgDiscountTop
.
setImageResource
(
R
.
drawable
.
member_discount_7
);
viewHolder
.
tvDiscountTop
.
setText
(
"租车7折"
);
viewHolder
.
imgFreedayTop
.
setImageResource
(
R
.
drawable
.
member_free_day_12
);
viewHolder
.
tvFreedayTop
.
setText
(
"免费用车"
+
mData
.
get
(
2
).
getNumber
()
+
"天"
);
break
;
case
3
:
viewHolder
.
imgDiscountTop
.
setImageResource
(
R
.
drawable
.
member_discount_6
);
viewHolder
.
tvDiscountTop
.
setText
(
"租车6折"
);
viewHolder
.
imgFreedayTop
.
setImageResource
(
R
.
drawable
.
member_free_day_28
);
viewHolder
.
tvFreedayTop
.
setText
(
"免费用车"
+
mData
.
get
(
3
).
getNumber
()
+
"天"
);
break
;
}
}
}
...
...
@@ -164,18 +222,20 @@ public class MemberListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
viewHolder
.
mcv_free_day
.
setValue
(
bean
.
getNumber
());
}
public
void
setDate
(
List
<
MemberListBean
.
MemberCard
>
data
)
{
initData
(
data
);
notifyDataSetChanged
();
}
public
class
HeadViewHolder
extends
RecyclerView
.
ViewHolder
{
int
agreeState
=
1
;
// 选中状态
LinearLayout
gridview
;
GridView
gridview
;
TextView
tv_agreement
;
ImageView
img_agree
;
Button
btn_buy
;
RelativeLayout
rlTop
;
ImageView
imgDiscountTop
;
TextView
tvDiscountTop
;
Button
btnDisountUse
;
ImageView
imgFreedayTop
;
TextView
tvFreedayTop
;
Button
btnFreedayUse
;
public
HeadViewHolder
(
@NonNull
View
itemView
)
{
super
(
itemView
);
...
...
@@ -183,6 +243,13 @@ public class MemberListAdapter extends RecyclerView.Adapter<RecyclerView.ViewHol
tv_agreement
=
itemView
.
findViewById
(
R
.
id
.
tv_agreement
);
img_agree
=
itemView
.
findViewById
(
R
.
id
.
img_agree
);
btn_buy
=
itemView
.
findViewById
(
R
.
id
.
btn_buy
);
rlTop
=
itemView
.
findViewById
(
R
.
id
.
rl_member_top
);
imgDiscountTop
=
itemView
.
findViewById
(
R
.
id
.
img_discount_top
);
tvDiscountTop
=
itemView
.
findViewById
(
R
.
id
.
tv_discount_top
);
btnDisountUse
=
itemView
.
findViewById
(
R
.
id
.
btn_disount_use
);
imgFreedayTop
=
itemView
.
findViewById
(
R
.
id
.
img_freeday_top
);
tvFreedayTop
=
itemView
.
findViewById
(
R
.
id
.
tv_freeday_top
);
btnFreedayUse
=
itemView
.
findViewById
(
R
.
id
.
btn_freeday_use
);
}
}
...
...
module_mine/src/main/java/com/rv/rvmine/member/view/MemberCardDetailView.java
deleted
100644 → 0
View file @
08971661
package
com
.
rv
.
rvmine
.
member
.
view
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.text.SpannableString
;
import
android.text.Spanned
;
import
android.text.style.AbsoluteSizeSpan
;
import
android.text.style.ForegroundColorSpan
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.widget.LinearLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.rv.rvmine.R
;
import
com.rv.rvmine.bean.MemberListBean
;
public
class
MemberCardDetailView
extends
LinearLayout
{
private
int
state
=
0
;
// 未选中状态
private
MemberListBean
.
MemberCard
memberCard
;
private
RelativeLayout
rl_content
;
private
TextView
tv_price
;
private
TextView
tv_discount
;
private
TextView
tv_free_day
;
private
TextView
tv_type
;
private
MyClickListener
clickListener
;
public
MemberCardDetailView
(
Context
context
,
MemberListBean
.
MemberCard
memberCard
,
MyClickListener
clickListener
)
{
super
(
context
);
this
.
memberCard
=
memberCard
;
this
.
clickListener
=
clickListener
;
initView
();
}
private
void
initView
()
{
View
view
=
LayoutInflater
.
from
(
getContext
()).
inflate
(
R
.
layout
.
item_member_detail_view
,
null
);
rl_content
=
view
.
findViewById
(
R
.
id
.
rl_content
);
tv_price
=
view
.
findViewById
(
R
.
id
.
tv_price
);
tv_discount
=
view
.
findViewById
(
R
.
id
.
tv_discount
);
tv_free_day
=
view
.
findViewById
(
R
.
id
.
tv_free_day
);
tv_type
=
view
.
findViewById
(
R
.
id
.
tv_type_icon
);
if
(
memberCard
!=
null
)
{
SpannableString
s
=
new
SpannableString
(
"¥"
+
memberCard
.
getPrice
());
s
.
setSpan
(
new
AbsoluteSizeSpan
(
12
,
true
),
0
,
1
,
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
s
.
setSpan
(
new
AbsoluteSizeSpan
(
18
,
true
),
1
,
s
.
length
(),
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
s
.
setSpan
(
new
ForegroundColorSpan
(
Color
.
parseColor
(
"#FFB74B"
)),
1
,
s
.
length
(),
Spanned
.
SPAN_EXCLUSIVE_EXCLUSIVE
);
tv_price
.
setText
(
s
);
tv_discount
.
setText
(
"永久"
+
memberCard
.
getDiscount
()
/
10
+
"折租车"
);
tv_free_day
.
setText
(
memberCard
.
getNumber
()
+
"天免费租车"
);
tv_type
.
setText
(
memberCard
.
getName
());
switch
(
memberCard
.
getLevel
())
{
case
1
:
tv_type
.
setBackgroundResource
(
R
.
drawable
.
member_icon_reg_members
);
break
;
case
2
:
tv_type
.
setBackgroundResource
(
R
.
drawable
.
member_icon_gold_membership
);
break
;
case
3
:
tv_type
.
setBackgroundResource
(
R
.
drawable
.
member_icon_dia_membership
);
break
;
}
}
rl_content
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
if
(
state
==
0
)
{
state
=
1
;
rl_content
.
setBackgroundResource
(
R
.
drawable
.
shape_rv_bg_member_selected
);
clickListener
.
onClick
(
MemberCardDetailView
.
this
);
}
}
});
addView
(
view
);
}
public
void
unSelect
()
{
state
=
0
;
rl_content
.
setBackgroundResource
(
R
.
drawable
.
shape_rv_bg_member_unselected
);
}
public
void
select
()
{
state
=
1
;
rl_content
.
setBackgroundResource
(
R
.
drawable
.
shape_rv_bg_member_selected
);
}
public
interface
MyClickListener
{
void
onClick
(
MemberCardDetailView
view
);
}
}
module_mine/src/main/res/drawable/shape_rv_bg_member_selected.xml
View file @
209f8c60
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"5dp"
/>
<solid
android:color=
"
@color/nimeBg
"
/>
<solid
android:color=
"
#F8F3C9
"
/>
<stroke
android:width=
"0.2dp"
android:color=
"@color/gray_FFB74B"
/>
...
...
module_mine/src/main/res/drawable/shape_rv_bg_member_top_grap.xml
0 → 100644
View file @
209f8c60
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"20dp"
/>
<solid
android:color=
"#CCCCCC"
/>
</shape>
\ No newline at end of file
module_mine/src/main/res/drawable/shape_rv_bg_member_top_purple.xml
0 → 100644
View file @
209f8c60
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:radius=
"20dp"
/>
<solid
android:color=
"#BA58EB"
/>
</shape>
\ No newline at end of file
module_mine/src/main/res/layout/item_member_detail.xml
View file @
209f8c60
...
...
@@ -6,7 +6,7 @@
android:orientation=
"vertical"
>
<TextView
android:layout_marginLeft=
"@dimen/
size_2
0"
android:layout_marginLeft=
"@dimen/
dp_1
0"
android:textStyle=
"bold"
android:id=
"@+id/tv_member_type"
android:layout_width=
"wrap_content"
...
...
@@ -26,7 +26,7 @@
android:layout_height=
"wrap_content"
android:layout_alignParentLeft=
"true"
android:layout_centerVertical=
"true"
android:layout_marginLeft=
"@dimen/size_
3
0"
android:layout_marginLeft=
"@dimen/size_
2
0"
app:card_type=
"0"
/>
<com.rv.rvmine.member.view.MemberCardView
...
...
@@ -34,7 +34,7 @@
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_marginLeft=
"@dimen/size_
3
0"
android:layout_marginLeft=
"@dimen/size_
2
0"
app:card_type=
"1"
/>
<com.rv.rvmine.member.view.MemberCardView
...
...
@@ -43,7 +43,7 @@
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_centerVertical=
"true"
android:layout_marginRight=
"@dimen/size_
3
0"
android:layout_marginRight=
"@dimen/size_
2
0"
app:card_type=
"2"
/>
</RelativeLayout>
...
...
@@ -51,7 +51,7 @@
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_
20
"
android:layout_marginLeft=
"@dimen/size_
15
"
android:layout_marginTop=
"@dimen/size_20"
android:gravity=
"center|left"
android:orientation=
"horizontal"
>
...
...
@@ -75,8 +75,8 @@
android:id=
"@+id/tv_describe"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_
3
0"
android:layout_marginRight=
"@dimen/size_
3
0"
android:layout_marginLeft=
"@dimen/size_
2
0"
android:layout_marginRight=
"@dimen/size_
2
0"
android:background=
"@drawable/shape_rv_bg_dark_gray"
android:minHeight=
"@dimen/size_120"
android:padding=
"@dimen/dp_10"
/>
...
...
@@ -85,9 +85,9 @@
android:id=
"@+id/btn_buy"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
android:layout_marginLeft=
"@dimen/size_
3
0"
android:layout_marginLeft=
"@dimen/size_
2
0"
android:layout_marginTop=
"@dimen/size_15"
android:layout_marginRight=
"@dimen/size_
3
0"
android:layout_marginRight=
"@dimen/size_
2
0"
android:layout_marginBottom=
"@dimen/size_20"
android:background=
"@drawable/shape_rv_bg_dark_yellow"
android:gravity=
"center"
...
...
module_mine/src/main/res/layout/item_member_detail_view.xml
View file @
209f8c60
...
...
@@ -2,12 +2,13 @@
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:paddingRight=
"@dimen/dp_10"
>
android:paddingLeft=
"@dimen/size_5"
android:paddingRight=
"@dimen/size_5"
android:layout_weight=
"1"
>
<RelativeLayout
android:id=
"@+id/rl_content"
android:layout_width=
"
@dimen/size_100
"
android:layout_width=
"
wrap_content
"
android:layout_height=
"@dimen/size_150"
android:layout_marginTop=
"@dimen/size_15"
android:background=
"@drawable/shape_rv_bg_member_unselected"
>
...
...
module_mine/src/main/res/layout/view_member_privilege.xml
View file @
209f8c60
...
...
@@ -5,26 +5,146 @@
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
>
<ImageView
android:layout_width=
"@dimen/size_200"
android:layout_height=
"@dimen/dp_40"
android:layout_marginTop=
"@dimen/size_15"
android:src=
"@drawable/member_image_mem_privilege_title"
/>
<RelativeLayout
android:id=
"@+id/rl_member_top"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_20"
android:visibility=
"gone"
>
<LinearLayout
android:layout_width=
"@dimen/size_110"
android:layout_height=
"wrap_content"
android:layout_alignParentLeft=
"true"
android:layout_marginLeft=
"@dimen/dp_10"
android:background=
"@drawable/shape_rv_bg_member_unselected"
android:gravity=
"center"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/img_discount_top"
android:layout_width=
"@dimen/size_50"
android:layout_height=
"@dimen/size_50"
android:layout_marginTop=
"13dp"
/>
<TextView
android:id=
"@+id/tv_discount_top"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_10"
android:textSize=
"@dimen/text_14"
android:textStyle=
"bold"
/>
<Button
android:id=
"@+id/btn_disount_use"
android:layout_width=
"@dimen/size_80"
android:layout_height=
"@dimen/size_28"
android:layout_marginTop=
"@dimen/dp_10"
android:layout_marginBottom=
"@dimen/size_8"
android:background=
"@drawable/shape_rv_bg_member_top_purple"
android:gravity=
"center"
android:text=
"@string/tv_use_now"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp_12"
/>
</LinearLayout>
<HorizontalScrollView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
>
<LinearLayout
android:id=
"@+id/gridview"
android:layout_width=
"match_parent"
android:layout_width=
"@dimen/size_110"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/size_20"
android:layout_centerInParent=
"true"
android:layout_marginLeft=
"@dimen/dp_10"
android:background=
"@drawable/shape_rv_bg_member_unselected"
android:gravity=
"center"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/img_freeday_top"
android:layout_width=
"@dimen/size_50"
android:layout_height=
"@dimen/size_50"
android:layout_marginTop=
"13dp"
/>
<TextView
android:id=
"@+id/tv_freeday_top"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_10"
android:textSize=
"@dimen/text_14"
android:textStyle=
"bold"
/>
<Button
android:id=
"@+id/btn_freeday_use"
android:layout_width=
"@dimen/size_80"
android:layout_height=
"@dimen/size_28"
android:layout_marginTop=
"@dimen/dp_10"
android:layout_marginBottom=
"@dimen/size_8"
android:background=
"@drawable/shape_rv_bg_member_top_purple"
android:gravity=
"center"
android:text=
"@string/tv_use_now"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp_12"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"@dimen/size_110"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_marginRight=
"@dimen/dp_10"
android:numColumns=
"3"
android:orientation=
"horizontal"
/>
android:background=
"@drawable/shape_rv_bg_member_unselected"
android:gravity=
"center"
android:orientation=
"vertical"
>
<ImageView
android:id=
"@+id/img_free_top"
android:layout_width=
"@dimen/size_50"
android:layout_height=
"@dimen/size_50"
android:layout_marginTop=
"13dp"
android:src=
"@drawable/member_icon_free"
/>
<TextView
android:id=
"@+id/tv_free_top"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_10"
android:text=
"@string/tv_outdoors_act"
android:textSize=
"@dimen/text_14"
android:textStyle=
"bold"
/>
<Button
android:layout_width=
"@dimen/size_80"
android:layout_height=
"@dimen/size_28"
android:layout_marginTop=
"@dimen/dp_10"
android:layout_marginBottom=
"@dimen/size_8"
android:background=
"@drawable/shape_rv_bg_member_top_grap"
android:enabled=
"false"
android:gravity=
"center"
android:text=
"@string/tv_please_wait"
android:textColor=
"@color/white"
android:textSize=
"@dimen/sp_12"
/>
</LinearLayout>
</RelativeLayout>
</HorizontalScrollView>
<ImageView
android:layout_width=
"160dp"
android:layout_height=
"@dimen/size_32"
android:layout_marginTop=
"@dimen/size_15"
android:src=
"@drawable/member_image_mem_privilege_title"
/>
<GridView
android:id=
"@+id/gridview"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/size_5"
android:layout_marginTop=
"@dimen/size_20"
android:layout_marginRight=
"@dimen/size_5"
android:orientation=
"horizontal"
/>
<LinearLayout
android:layout_width=
"match_parent"
...
...
@@ -37,15 +157,16 @@
android:id=
"@+id/img_agree"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginLeft=
"@dimen/dp_10"
android:paddingLeft=
"@dimen/dp_10"
android:paddingTop=
"@dimen/dp_10"
android:paddingRight=
"@dimen/size_5"
android:paddingBottom=
"@dimen/dp_10"
android:src=
"@drawable/common_icon_selected"
/>
<TextView
android:id=
"@+id/tv_agreement"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/size_30"
android:layout_marginLeft=
"@dimen/size_5"
android:drawablePadding=
"@dimen/size_5"
android:gravity=
"left|center_vertical"
android:text=
"@string/tv_agreement"
/>
...
...
module_mine/src/main/res/layout/view_member_type.xml
0 → 100644
View file @
209f8c60
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"@dimen/size_20"
android:orientation=
"horizontal"
>
</LinearLayout>
module_mine/src/main/res/values/strings.xml
View file @
209f8c60
...
...
@@ -37,11 +37,15 @@
<string
name=
"tv_driver"
>
驾驶人
</string>
<string
name=
"tv_traveler"
>
出游人
</string>
<string
name=
"tv_my_release"
>
我的发布
</string>
<string
name=
"tv_open_membership"
>
立即开通普通会员
</string>
<string
name=
"tv_title_member_center"
>
会员中心
</string>
<string
name=
"tv_outdoors_act"
>
户外活动
</string>
<string
name=
"tv_agreement"
>
同意欣新房车 《会员服务协议会员规则》
</string>
<string
name=
"tv_use_now"
>
马上使用
</string>
<string
name=
"tv_please_wait"
>
敬请期待
</string>
</resources>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment