Commit 1fcc86d0 authored by linfeng's avatar linfeng

Merge branch 'dev-member-john' of http://113.105.137.151:22280/lify/rvapp

parents 0075c3cf 23feca33
...@@ -33,8 +33,10 @@ ...@@ -33,8 +33,10 @@
<uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" /> <uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...@@ -117,14 +119,7 @@ ...@@ -117,14 +119,7 @@
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="pdfd6612" />
</intent-filter>
</activity> <!-- 百度地图相关 --> </activity> <!-- 百度地图相关 -->
<!-- 声明service组件 --> <!-- 声明service组件 -->
<service <service
...@@ -192,7 +187,18 @@ ...@@ -192,7 +187,18 @@
<activity <activity
android:name="com.rv.home.rv.module.ui.login.LoginRvActivity" android:name="com.rv.home.rv.module.ui.login.LoginRvActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="pdfd6612" />
</intent-filter>
</activity>
<activity <activity
android:name="com.rv.home.rv.module.ui.login.RegisteredActivity" android:name="com.rv.home.rv.module.ui.login.RegisteredActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait" />
......
...@@ -38,6 +38,7 @@ import com.rv.tourism.R2; ...@@ -38,6 +38,7 @@ import com.rv.tourism.R2;
import com.rv.tourism.TourismFragment; import com.rv.tourism.TourismFragment;
import com.rv.version.bean.VersionCheckBean; import com.rv.version.bean.VersionCheckBean;
import com.rv.version.util.UpdateAppUtils; import com.rv.version.util.UpdateAppUtils;
import com.sh.sdk.shareinstall.ShareInstall;
import com.xxfc.discovery.DiscoveryFragment; import com.xxfc.discovery.DiscoveryFragment;
import com.yuyife.okgo.OkGoUtil; import com.yuyife.okgo.OkGoUtil;
...@@ -97,6 +98,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> { ...@@ -97,6 +98,7 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
ShareInstall.getInstance().reportRegister();
updateAppUtils = UpdateAppUtils.from(MainActivity.this); updateAppUtils = UpdateAppUtils.from(MainActivity.this);
viewPager = findViewById(R.id.pager_view_fragment); viewPager = findViewById(R.id.pager_view_fragment);
showTitle(false); showTitle(false);
......
...@@ -51,12 +51,9 @@ public class RvClientApplication extends FrameApp { ...@@ -51,12 +51,9 @@ public class RvClientApplication extends FrameApp {
StrictMode.setVmPolicy(builder.build()); StrictMode.setVmPolicy(builder.build());
builder.detectFileUriExposure(); builder.detectFileUriExposure();
if (isMainProcess()) { if (isMainProcess()) {
ShareInstall.getInstance().init(getApplicationContext()); ShareInstall.getInstance().init(this);
} }
ShareInstall.getInstance().reportRegister();
LogUtil.setLogEnable(true, getApplicationContext()); LogUtil.setLogEnable(true, getApplicationContext());
CrashHandler.getInstance().init(this); CrashHandler.getInstance().init(this);
// 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext // 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext
SDKInitializer.initialize(this); SDKInitializer.initialize(this);
......
...@@ -46,24 +46,6 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> { ...@@ -46,24 +46,6 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
LogUtil.d("start"); LogUtil.d("start");
ShareInstall.getInstance().getInfo(getIntent(), new AppGetInfoListener() {
@Override
public void onGetInfoFinish(String info) {
// 客户端获取到的参数是json字符串格式
LogUtil.d("ShareInstall", "info = " + info);
// info ="{\"from\":\"singlemessage\",\"code\":\"qRj5igja_P0101\"}";
if (info.contains("code"))
try {
JSONObject object = new JSONObject(info);
String inviteCode = object.optString("code");
if (!TextUtils.isEmpty(inviteCode)) {
Cooker.save(getApplicationContext(), "code", inviteCode);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
} }
@Override @Override
......
...@@ -116,14 +116,11 @@ public class OkHttpCreate { ...@@ -116,14 +116,11 @@ public class OkHttpCreate {
public void log(String message) { public void log(String message) {
LogUtils.d(message); LogUtils.d(message);
} }
}); });
loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); loggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
this.mHttpBuilder.addInterceptor(loggingInterceptor); this.mHttpBuilder.addInterceptor(loggingInterceptor);
} }
/** /**
* 设置超时时间 * 设置超时时间
* *
......
...@@ -5,7 +5,7 @@ import android.content.SharedPreferences; ...@@ -5,7 +5,7 @@ import android.content.SharedPreferences;
public class Cooker { public class Cooker {
private final static String COOKIE_FILE = "cookie" ; private final static String COOKIE_FILE = "cookie";
private static SharedPreferences preferences; private static SharedPreferences preferences;
...@@ -67,6 +67,7 @@ public class Cooker { ...@@ -67,6 +67,7 @@ public class Cooker {
public static float getFloatValue(Context context, String key, float def) { public static float getFloatValue(Context context, String key, float def) {
return getPreference(context).getFloat(key, def); return getPreference(context).getFloat(key, def);
} }
public static boolean getBooleanValue(Context context, String key) { public static boolean getBooleanValue(Context context, String key) {
return getBooleanValue(context, key, false); return getBooleanValue(context, key, false);
} }
...@@ -74,6 +75,4 @@ public class Cooker { ...@@ -74,6 +75,4 @@ public class Cooker {
public static boolean getBooleanValue(Context context, String key, boolean def) { public static boolean getBooleanValue(Context context, String key, boolean def) {
return getPreference(context).getBoolean(key, def); return getPreference(context).getBoolean(key, def);
} }
} }
...@@ -49,5 +49,5 @@ dependencies { ...@@ -49,5 +49,5 @@ dependencies {
annotationProcessor 'com.alibaba:arouter-compiler:1.1.4' annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
implementation 'com.alibaba:fastjson:1.2.21' implementation 'com.alibaba:fastjson:1.2.21'
api files('libs/ShareInstall_1.2.0.aar')
} }
...@@ -22,6 +22,7 @@ import com.ruiwenliu.wrapper.weight.TitleView; ...@@ -22,6 +22,7 @@ import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.CacheEnum; import com.rv.component.utils.CacheEnum;
import com.rv.component.utils.Cooker; import com.rv.component.utils.Cooker;
import com.rv.component.utils.LogUtil;
import com.rv.home.R; import com.rv.home.R;
import com.rv.home.R2; import com.rv.home.R2;
import com.frame.rv.config.RvFrameConfig; import com.frame.rv.config.RvFrameConfig;
...@@ -31,9 +32,14 @@ import com.ruiwenliu.wrapper.bean.BeanUserInfo; ...@@ -31,9 +32,14 @@ import com.ruiwenliu.wrapper.bean.BeanUserInfo;
import com.rv.home.rv.module.basic.presenter.CommonPresenter; import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.login.bean.RegisteredBean; import com.rv.home.rv.module.ui.login.bean.RegisteredBean;
import com.rv.home.rv.module.ui.login.bean.SendCodeBean; import com.rv.home.rv.module.ui.login.bean.SendCodeBean;
import com.sh.sdk.shareinstall.ShareInstall;
import com.sh.sdk.shareinstall.listener.AppGetInfoListener;
import com.umeng.socialize.bean.SHARE_MEDIA; import com.umeng.socialize.bean.SHARE_MEDIA;
import com.umeng.socialize.utils.SocializeUtils; import com.umeng.socialize.utils.SocializeUtils;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Map; import java.util.Map;
...@@ -86,6 +92,24 @@ public class LoginRvActivity extends BaseLoginActivity<CommonPresenter> { ...@@ -86,6 +92,24 @@ public class LoginRvActivity extends BaseLoginActivity<CommonPresenter> {
editListener(etPhoneCode); editListener(etPhoneCode);
// etPhone.setText(""+mActivity.getPackageName()); // etPhone.setText(""+mActivity.getPackageName());
initRxbus(); initRxbus();
ShareInstall.getInstance().getInfo(getIntent(), new AppGetInfoListener() {
@Override
public void onGetInfoFinish(String info) {
// 客户端获取到的参数是json字符串格式
LogUtil.d("ShareInstall", "info = " + info);
// info ="{\"from\":\"singlemessage\",\"code\":\"qRj5igja_P0101\"}";
if (info.contains("code"))
try {
JSONObject object = new JSONObject(info);
String inviteCode = object.optString("code");
if (!TextUtils.isEmpty(inviteCode)) {
Cooker.save(getApplicationContext(), "code", inviteCode);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
});
} }
@SuppressLint("CheckResult") @SuppressLint("CheckResult")
......
...@@ -215,7 +215,7 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> { ...@@ -215,7 +215,7 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
} else if (id == R.id.tv_purchase_record) { } else if (id == R.id.tv_purchase_record) {
startActivity(new Intent(MemberCenterActivity.this, PurchaseRecordActivity.class)); startActivity(new Intent(MemberCenterActivity.this, PurchaseRecordActivity.class));
} else if (id == R.id.tv_free_day) { } else if (id == R.id.tv_free_day) {
startActivity(new Intent(MemberCenterActivity.this, FreesDayActivity.class)); // startActivity(new Intent(MemberCenterActivity.this, FreesDayActivity.class));
} }
} }
......
package com.rv.points; package com.rv.points;
import android.content.Intent; import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle; import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils; import android.text.TextUtils;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.ForegroundColorSpan;
import android.view.View; import android.view.View;
import android.widget.Button; import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
...@@ -12,6 +19,7 @@ import com.frame.rv.config.RvFrameConfig; ...@@ -12,6 +19,7 @@ import com.frame.rv.config.RvFrameConfig;
import com.google.gson.Gson; import com.google.gson.Gson;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.DisplayUtil;
import com.rv.home.rv.module.ApiConfig; import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.BaseStatusActivity; import com.rv.home.rv.module.basic.BaseStatusActivity;
import com.rv.home.rv.module.basic.presenter.CommonPresenter; import com.rv.home.rv.module.basic.presenter.CommonPresenter;
...@@ -35,6 +43,8 @@ public class SignActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -35,6 +43,8 @@ public class SignActivity extends BaseStatusActivity<CommonPresenter> {
InnerGridView innerGridView; InnerGridView innerGridView;
@BindView(R2.id.tv_sign_day) @BindView(R2.id.tv_sign_day)
TextView tvSignDay; TextView tvSignDay;
@BindView(R2.id.img_back)
ImageView imgBack;
private DateAdapter dateAdapter; private DateAdapter dateAdapter;
@Override @Override
...@@ -44,13 +54,19 @@ public class SignActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -44,13 +54,19 @@ public class SignActivity extends BaseStatusActivity<CommonPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("签到"); titleView.setVisibility(View.GONE);
btnSign.setOnClickListener(new View.OnClickListener() { btnSign.setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View view) { public void onClick(View view) {
sign(); sign();
} }
}); });
imgBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
dateAdapter = new DateAdapter(this); dateAdapter = new DateAdapter(this);
innerGridView.setAdapter(dateAdapter); innerGridView.setAdapter(dateAdapter);
} }
...@@ -66,7 +82,10 @@ public class SignActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -66,7 +82,10 @@ public class SignActivity extends BaseStatusActivity<CommonPresenter> {
if (requestType == 0) { if (requestType == 0) {
SignRecordBean bean = (SignRecordBean) result; SignRecordBean bean = (SignRecordBean) result;
if (bean.getData() != null && bean.getData().size() > 0) { if (bean.getData() != null && bean.getData().size() > 0) {
tvSignDay.setText("你已累计签到" + bean.getData().size() + "天"); SpannableString msp = new SpannableString("累计签到 " + bean.getData().size() + " 天");
msp.setSpan(new ForegroundColorSpan(Color.parseColor("#FDC349")), 5, msp.length() - 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
msp.setSpan(new AbsoluteSizeSpan(DisplayUtil.sp2px(getApplicationContext(),18)), 5, msp.length() - 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tvSignDay.setText(msp);
dateAdapter.setSignData(bean.getData()); dateAdapter.setSignData(bean.getData());
} }
} }
...@@ -97,9 +116,9 @@ public class SignActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -97,9 +116,9 @@ public class SignActivity extends BaseStatusActivity<CommonPresenter> {
Map<String, Object> header = new HashMap<>(); Map<String, Object> header = new HashMap<>();
header.put("Authorization", OkGoUtil.getToken()); header.put("Authorization", OkGoUtil.getToken());
Map<String,Object> body = new HashMap<>() ; Map<String, Object> body = new HashMap<>();
body.put("integralRuleCode","SIGN") ; body.put("integralRuleCode", "SIGN");
mPresenter.postData(RvFrameConfig.HOST ,1, ApiConfig.HTTP_URL_SIGN, SignResultBean.class, body, header, true); mPresenter.postData(RvFrameConfig.HOST, 1, ApiConfig.HTTP_URL_SIGN, SignResultBean.class, body, header, true);
} }
} }
......
...@@ -27,6 +27,7 @@ public class DateAdapter extends BaseAdapter { ...@@ -27,6 +27,7 @@ public class DateAdapter extends BaseAdapter {
private List<Integer> days = new ArrayList<>(); private List<Integer> days = new ArrayList<>();
private List<Integer> singRecords = new ArrayList<>(); private List<Integer> singRecords = new ArrayList<>();
private int today;
//签到成功的回调方法,相应的可自行添加签到失败时的回调方法 //签到成功的回调方法,相应的可自行添加签到失败时的回调方法
...@@ -34,13 +35,14 @@ public class DateAdapter extends BaseAdapter { ...@@ -34,13 +35,14 @@ public class DateAdapter extends BaseAdapter {
public DateAdapter(Context context) { public DateAdapter(Context context) {
this.context = context; this.context = context;
int maxDay = DateUtil.getCurrentMonthLastDay();//获取当月天数 int maxDay = DateUtil.getCurrentMonthLastDay();//获取当月天数
Calendar calendar = Calendar.getInstance();
today = calendar.get(Calendar.DAY_OF_MONTH);
for (int i = 0; i < DateUtil.getFirstDayOfMonth() - 1; i++) { for (int i = 0; i < DateUtil.getFirstDayOfMonth() - 1; i++) {
//DateUtil.getFirstDayOfMonth()获取当月第一天是星期几,星期日是第一天,依次类推 //DateUtil.getFirstDayOfMonth()获取当月第一天是星期几,星期日是第一天,依次类推
days.add(0); days.add(0);
} }
for (int i = 0; i < maxDay; i++) { for (int i = 0; i < maxDay; i++) {
days.add(i + 1); days.add(i + 1);
} }
} }
...@@ -72,16 +74,24 @@ public class DateAdapter extends BaseAdapter { ...@@ -72,16 +74,24 @@ public class DateAdapter extends BaseAdapter {
viewHolder.tv = view.findViewById(R.id.tvWeek); viewHolder.tv = view.findViewById(R.id.tvWeek);
viewHolder.rlItem = view.findViewById(R.id.rlItem); viewHolder.rlItem = view.findViewById(R.id.rlItem);
viewHolder.ivStatus = view.findViewById(R.id.ivStatus); viewHolder.ivStatus = view.findViewById(R.id.ivStatus);
viewHolder.tv.setText(days.get(i) + ""); if (today == i) {
viewHolder.tv.setText("今天");
} else {
viewHolder.tv.setText(days.get(i) + "");
}
if (days.get(i) == 0) { if (days.get(i) == 0) {
viewHolder.rlItem.setVisibility(View.GONE); viewHolder.rlItem.setVisibility(View.GONE);
} }
if (singRecords != null && singRecords.contains(i)) { if (singRecords != null && singRecords.contains(i)) {
viewHolder.tv.setTextColor(Color.parseColor("#FD0000")); viewHolder.ivStatus.setImageResource(R.drawable.icon_signed);
viewHolder.ivStatus.setVisibility(View.VISIBLE); viewHolder.ivStatus.setVisibility(View.VISIBLE);
} else { } else {
viewHolder.tv.setTextColor(Color.parseColor("#666666")); if (today > i) {
viewHolder.ivStatus.setVisibility(View.GONE); viewHolder.ivStatus.setImageResource(R.drawable.icon_unsign);
viewHolder.ivStatus.setVisibility(View.VISIBLE);
} else {
viewHolder.ivStatus.setVisibility(View.INVISIBLE);
}
} }
return view; return view;
......
...@@ -8,24 +8,28 @@ import android.graphics.Rect; ...@@ -8,24 +8,28 @@ import android.graphics.Rect;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import com.rv.component.utils.DisplayUtil; import com.rv.component.utils.DisplayUtil;
public class WeekNavigation extends View { public class WeekNavigation extends View {
private String weeks[] = { "天","一", "二", "三", "四", "五", "六"}; private String weeks[] = {"天", "一", "二", "三", "四", "五", "六"};
private Context mContext; private Context mContext;
private Paint wordsPaint; private Paint wordsPaint;
private int itemWidth; private int itemWidth;
private int itemHeight;
public WeekNavigation(Context context, @Nullable AttributeSet attrs) { public WeekNavigation(Context context, @Nullable AttributeSet attrs) {
super(context, attrs); super(context, attrs);
mContext = context; mContext = context;
wordsPaint = new Paint(); wordsPaint = new Paint();
wordsPaint.setColor(Color.WHITE);
} }
@Override @Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec); super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = getMeasuredWidth(); int width = getMeasuredWidth();
itemHeight = DisplayUtil.sp2px(getContext(), 30);
itemWidth = width / 7; itemWidth = width / 7;
} }
...@@ -34,16 +38,13 @@ public class WeekNavigation extends View { ...@@ -34,16 +38,13 @@ public class WeekNavigation extends View {
super.onDraw(canvas); super.onDraw(canvas);
wordsPaint.setTextSize(DisplayUtil.sp2px(mContext, 14)); wordsPaint.setTextSize(DisplayUtil.sp2px(mContext, 14));
for (int i = 0; i < weeks.length; i++) { for (int i = 0; i < weeks.length; i++) {
if (0 == i || 6 == i) {
wordsPaint.setColor(Color.GRAY);
} else {
wordsPaint.setColor(Color.BLACK);
}
Rect rect = new Rect(); Rect rect = new Rect();
wordsPaint.getTextBounds(weeks[i], 0, 1, rect); wordsPaint.getTextBounds(weeks[i], 0, 1, rect);
int wordWidth = rect.width(); int wordWidth = rect.width();
float wordX = i * itemWidth + itemWidth/2 ; int wordHeight = rect.height();
float wordY = wordWidth ; float wordX = i * itemWidth + itemWidth / 2 - wordWidth / 2;
float wordY = itemHeight / 2 + wordWidth / 2;
canvas.drawText(weeks[i], wordX, wordY, wordsPaint); canvas.drawText(weeks[i], wordX, wordY, wordsPaint);
} }
} }
......
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="5dp" />
<solid android:color="#ffffff" />
<stroke
android:width="@dimen/size_1"
android:color="#FEAD8A" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="30dp" />
<solid android:color="#FDC349" />
</shape>
\ No newline at end of file
...@@ -10,52 +10,118 @@ ...@@ -10,52 +10,118 @@
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="@dimen/size_48"
android:orientation="horizontal" android:background="@color/colorWrite">
android:paddingLeft="@dimen/size_20"
android:paddingTop="@dimen/size_20"
android:paddingRight="@dimen/size_20"
android:paddingBottom="@dimen/size_20">
<ImageView <ImageView
android:id="@+id/img_icon" android:id="@+id/img_back"
android:layout_width="@dimen/size_50" android:layout_width="@dimen/size_32"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_32"
android:layout_alignParentLeft="true" android:layout_centerVertical="true"
android:layout_centerVertical="true" /> android:layout_marginLeft="@dimen/size_5"
android:padding="@dimen/size_8"
android:src="@drawable/rv_common_icon_back_dark" />
<TextView <TextView
android:id="@+id/tv_sign_day"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_centerVertical="true" android:layout_centerInParent="true"
android:layout_marginLeft="@dimen/dp_10" android:ellipsize="end"
android:layout_toRightOf="@+id/img_icon" android:gravity="center"
android:text="你已累计签到9天" /> android:maxWidth="320dp"
android:maxLines="1"
<Button android:text="签到领积分"
android:id="@+id/btn_sign" android:textColor="@color/textMain"
android:layout_width="@dimen/size_80" android:textSize="@dimen/text_18" />
android:layout_height="@dimen/size_35"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="打卡"
android:textSize="@dimen/sp_12" />
</RelativeLayout> </RelativeLayout>
<com.rv.points.view.WeekNavigation
android:layout_width="match_parent" <ScrollView
android:layout_height="50dp"
android:layout_marginLeft="5dp"
android:layout_marginTop="5dp"
android:layout_marginRight="5dp"
android:background="@color/white" />
<com.rv.points.view.InnerGridView
android:id="@+id/view_month"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content">
android:numColumns="7"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:layout_width="match_parent"
android:layout_height="180dip"
android:scaleType="fitXY"
android:src="@drawable/banner_sign" />
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/size_15"
android:layout_marginRight="@dimen/dp_10"
android:background="@drawable/bg_points_sign"
android:orientation="horizontal"
android:paddingLeft="@dimen/size_10"
android:paddingTop="@dimen/size_10"
android:paddingRight="@dimen/size_10"
android:paddingBottom="@dimen/size_10">
<ImageView
android:id="@+id/img_icon"
android:layout_width="@dimen/size_40"
android:layout_height="@dimen/size_40"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:src="@drawable/icon_sign" />
<TextView
android:id="@+id/tv_sign_day"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="@dimen/dp_10"
android:layout_toRightOf="@+id/img_icon"
android:text="你已累计签到9天" />
<Button
android:id="@+id/btn_sign"
android:layout_width="@dimen/size_90"
android:layout_height="@dimen/size_35"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/bg_sing_btn_able"
android:gravity="center"
android:text="打卡"
android:textColor="@color/white"
android:textSize="@dimen/sp_14" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="@drawable/bg_points_sign"
android:orientation="vertical">
<com.rv.points.view.WeekNavigation
android:layout_width="match_parent"
android:layout_height="30dp"
android:background="@drawable/bg_sign_weeks"
android:gravity="center_vertical" />
<com.rv.points.view.InnerGridView
android:id="@+id/view_month"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_2"
android:layout_marginTop="@dimen/size_5"
android:layout_marginRight="@dimen/size_2"
android:layout_marginBottom="@dimen/size_2"
android:background="#fffbf5"
android:numColumns="7" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout> </LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rlItem" android:id="@+id/rlItem"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content"> android:layout_height="wrap_content">
<TextView <TextView
android:id="@+id/tvWeek" android:id="@+id/tvWeek"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:padding="8dp" android:layout_centerHorizontal="true"
android:text="一" android:background="#fffbf5"
android:gravity="center" android:gravity="center"
android:textColor="#666" android:padding="3dp"
android:background="@android:color/white"> android:text="一"
</TextView> android:textColor="#666" />
<ImageView <ImageView
android:layout_marginBottom="@dimen/size_5"
android:id="@+id/ivStatus" android:id="@+id/ivStatus"
android:layout_width="12dp" android:layout_width="12dp"
android:layout_height="12dp" android:layout_height="12dp"
android:src="@drawable/icon_select" android:layout_below="@id/tvWeek"
android:layout_marginRight="10dp" android:layout_centerHorizontal="true"
android:visibility="gone" android:src="@drawable/icon_signed"
android:layout_alignParentRight="true"/> android:visibility="invisible" />
</RelativeLayout> </RelativeLayout>
\ No newline at end of file
...@@ -36,5 +36,4 @@ dependencies { ...@@ -36,5 +36,4 @@ dependencies {
androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation project(':module_home') implementation project(':module_home')
api files('libs/ShareInstall_1.2.0.aar')
} }
package com.rv.share; package com.rv.share;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatActivity;
...@@ -38,6 +39,12 @@ public class PopularizeActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -38,6 +39,12 @@ public class PopularizeActivity extends BaseStatusActivity<CommonPresenter> {
private TabAdapter mAdapter; private TabAdapter mAdapter;
private int menuPosition; private int menuPosition;
public static Intent getIntent(Context context, int position) {
Intent intent = new Intent(context, PopularizeActivity.class);
intent.putExtra("position", position);
return intent;
}
@Override @Override
protected int setLayout() { protected int setLayout() {
return R.layout.activity_popularize; return R.layout.activity_popularize;
...@@ -46,6 +53,7 @@ public class PopularizeActivity extends BaseStatusActivity<CommonPresenter> { ...@@ -46,6 +53,7 @@ public class PopularizeActivity extends BaseStatusActivity<CommonPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("我的推广"); titleView.setTitle("我的推广");
menuPosition = intent.getIntExtra("position", 0);
initRecyclerView(); initRecyclerView();
initViewpager(); initViewpager();
} }
......
...@@ -108,7 +108,7 @@ public class ShareActivity extends BaseStatusActivity<SharePresenter> { ...@@ -108,7 +108,7 @@ public class ShareActivity extends BaseStatusActivity<SharePresenter> {
} }
@OnClick({R2.id.tv_weixin, R2.id.tv_weixin_circle, R2.id.tv_bill, R2.id.tv_more, R2.id.tv_more_detail}) @OnClick({R2.id.tv_weixin, R2.id.tv_weixin_circle, R2.id.tv_bill, R2.id.tv_more, R2.id.tv_more_detail, R2.id.ll_activation, R2.id.ll_comein, R2.id.ll_invite})
public void onViewClicked(View view) { public void onViewClicked(View view) {
int id = view.getId(); int id = view.getId();
if (TextUtils.isEmpty(shareUrl)) { if (TextUtils.isEmpty(shareUrl)) {
...@@ -124,7 +124,13 @@ public class ShareActivity extends BaseStatusActivity<SharePresenter> { ...@@ -124,7 +124,13 @@ public class ShareActivity extends BaseStatusActivity<SharePresenter> {
} else if (id == R.id.tv_more) { } else if (id == R.id.tv_more) {
mPresenter.shareMore(shareUrl, "【滴房车】", "新人专享大礼包,快去领!"); mPresenter.shareMore(shareUrl, "【滴房车】", "新人专享大礼包,快去领!");
} else if (id == R.id.tv_more_detail) { } else if (id == R.id.tv_more_detail) {
startActivity(new Intent(this, PopularizeActivity.class)); startActivity(PopularizeActivity.getIntent(getApplicationContext(), 0));
} else if (id == R.id.ll_activation) {
startActivity(PopularizeActivity.getIntent(getApplicationContext(), 2));
} else if (id == R.id.ll_invite) {
startActivity(PopularizeActivity.getIntent(getApplicationContext(), 1));
} else if (id == R.id.ll_comein) {
startActivity(PopularizeActivity.getIntent(getApplicationContext(), 0));
} }
} }
......
...@@ -149,6 +149,7 @@ ...@@ -149,6 +149,7 @@
android:weightSum="3"> android:weightSum="3">
<LinearLayout <LinearLayout
android:id="@+id/ll_comein"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
...@@ -178,6 +179,7 @@ ...@@ -178,6 +179,7 @@
android:background="@color/tv_gr999999" /> android:background="@color/tv_gr999999" />
<LinearLayout <LinearLayout
android:id="@+id/ll_invite"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
...@@ -207,6 +209,7 @@ ...@@ -207,6 +209,7 @@
android:background="@color/tv_gr999999" /> android:background="@color/tv_gr999999" />
<LinearLayout <LinearLayout
android:id="@+id/ll_activation"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="1" android:layout_weight="1"
......
apply plugin: 'com.android.library' apply plugin: 'com.android.library'
android { android {
compileSdkVersion 29 compileSdkVersion 28
defaultConfig { defaultConfig {
minSdkVersion 19 minSdkVersion 19
targetSdkVersion 29 targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rv.version"> package="com.rv.version">
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
<application> <application>
<receiver android:name="com.rv.version.receiver.UpdateAppReceiver"> <receiver android:name="com.rv.version.receiver.UpdateAppReceiver">
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
<files-path name="files-path" path="" /> <files-path name="files-path" path="" />
   
<cache-path name="cache-path" path="" /> <cache-path name="files_root" path="" />
   
<external-path name="external-path" path="" /> <external-path name="external-path" path="" />
   
<external-files-path name="external-files-path" path="" /> <external-files-path name="external-files-path" path="" />
   
<external-cache-path name="external-cache-path" path="" /> <external-cache-path name="files_root" path="" />
</paths> </paths>
......
...@@ -3,11 +3,13 @@ ...@@ -3,11 +3,13 @@
package="com.xxrv.wallet"> package="com.xxrv.wallet">
<application> <application>
<activity android:name=".activity.CashWithdrawalDetailsActivity"></activity> <activity android:name=".activity.CashWithdrawalDetailsActivity" />
<activity android:name=".activity.WithdrawActivity" /> <activity android:name=".activity.WithdrawActivity" />
<activity android:name=".activity.WalletActivity" /> <activity android:name=".activity.WalletActivity" />
<activity android:name=".activity.ConsumeDetailActivity" /> <activity android:name=".activity.ConsumeDetailActivity" />
<activity android:name=".activity.CommissionDetailActivity" /> <activity android:name=".activity.CommissionDetailActivity" />
<activity android:name=".activity.EnchashmentRecordActivity"></activity>
<activity android:name=".activity.SetPayPwdActivity" />
</application> </application>
</manifest> </manifest>
\ No newline at end of file
package com.xxrv.wallet.activity;
import android.content.Intent;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ruiwenliu.wrapper.adapter.TabAdapter;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.ruiwenliu.wrapper.weight.horizontal.GallerySnapHelper;
import com.ruiwenliu.wrapper.weight.horizontal.SpaceItemDecoration;
import com.rv.home.rv.module.basic.BaseStatusActivity;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.adapter.OrderMenuAdapter;
import com.xxrv.wallet.R;
import com.xxrv.wallet.R2;
import com.xxrv.wallet.fragment.CommisionAllFragment;
import com.xxrv.wallet.fragment.CommisionFinishFragment;
import com.xxrv.wallet.fragment.CommisionUnFinishFragment;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
/******
* 提现记录
*/
public class EnchashmentRecordActivity extends BaseStatusActivity<CommonPresenter> {
@BindView(R2.id.recyclerview)
RecyclerView recyclerView;
@BindView(R2.id.viewpager)
ViewPager viewpager;
private OrderMenuAdapter menuAdapter;
private TabAdapter mAdapter;
private int menuPosition;
@Override
public void onShowResult(int requestType, BaseBean result) {
}
@Override
protected int setLayout() {
return R.layout.activity_enchashment_record;
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("提现记录");
initRecyclerView();
initViewpager();
}
/**
* 初始化RecyclerView
*/
private void initRecyclerView() {
recyclerView.setLayoutManager(new GridLayoutManager(mActivity, 2));
menuAdapter = new OrderMenuAdapter();
recyclerView.setAdapter(menuAdapter);
recyclerView.addItemDecoration(new SpaceItemDecoration(2));
GallerySnapHelper snapHelper = new GallerySnapHelper();
snapHelper.attachToRecyclerView(recyclerView);
List<String> list = new ArrayList<>();
String[] strs = getResources().getStringArray(R.array.enchashment_list);
for (String a : strs) {
list.add(a);
}
menuAdapter.setNewData(list);
menuAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
menuAdapter.setSelectItem(position);
viewpager.setCurrentItem(position);
}
});
}
/**
* 初始化Viewpager
*/
private void initViewpager() {
mAdapter = new TabAdapter(getSupportFragmentManager(), getListFragment());
viewpager.setAdapter(mAdapter);
viewpager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
menuAdapter.setSelectItem(position);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
viewpager.setOffscreenPageLimit(mAdapter.getCount());
menuAdapter.setSelectItem(menuPosition);
viewpager.setCurrentItem(menuPosition);
}
private List<BaseFragment> getListFragment() {
List<BaseFragment> list = new ArrayList<>();
list.add(CommisionAllFragment.getInstance());
list.add(CommisionUnFinishFragment.getInstance());
return list;
}
}
...@@ -2,17 +2,57 @@ package com.xxrv.wallet.activity; ...@@ -2,17 +2,57 @@ package com.xxrv.wallet.activity;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.util.Log;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.ruiwenliu.wrapper.base.BaseBean; import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity; import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.presenter.MvpPresenter; import com.ruiwenliu.wrapper.presenter.MvpPresenter;
import com.ruiwenliu.wrapper.weight.TitleView; import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.xxrv.wallet.R; import com.xxrv.wallet.R;
import com.xxrv.wallet.R2; import com.xxrv.wallet.R2;
import com.xxrv.wallet.dialog.PayPassDialog;
import com.xxrv.wallet.dialog.SetPasswordDialog;
import com.xxrv.wallet.view.PayPassView;
import butterknife.BindView; import butterknife.BindView;
public class SetPayPwdActivity extends BaseStatusActivity<MvpPresenter> { public class SetPayPwdActivity extends BaseStatusActivity<CommonPresenter> {
@BindView(R2.id.ll_send_code)
LinearLayout llSendCode;
@BindView(R2.id.ll_set_pay_pwd)
LinearLayout llSetPayPwd;
@BindView(R2.id.edt_phone)
EditText edtPhone;
@BindView(R2.id.edt_identify_code)
EditText edtIdentifyCode;
@BindView(R2.id.btn_send)
Button btnSend;
@BindView(R2.id.btn_next)
Button btnNext;
@BindView(R2.id.img_clear_phone)
ImageView imgClearPhone;
@BindView(R2.id.edt_pwd1)
EditText edtPwd1;
@BindView(R2.id.edt_pwd2)
EditText edtPwd2;
@BindView(R2.id.edt_pwd3)
EditText edtPwd3;
@BindView(R2.id.edt_pwd4)
EditText edtPwd4;
@BindView(R2.id.edt_pwd5)
EditText edtPwd5;
@BindView(R2.id.edt_pwd6)
EditText edtPwd6;
@BindView(R2.id.btn_confirm)
Button btnConfirm;
@Override @Override
public void onShowResult(int requestType, BaseBean result) { public void onShowResult(int requestType, BaseBean result) {
...@@ -26,6 +66,59 @@ public class SetPayPwdActivity extends BaseStatusActivity<MvpPresenter> { ...@@ -26,6 +66,59 @@ public class SetPayPwdActivity extends BaseStatusActivity<MvpPresenter> {
@Override @Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) { protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
titleView.setTitle("设置支付密码");
payDialog();
edtPwd1.addTextChangedListener(watcher);
edtPwd2.addTextChangedListener(watcher);
edtPwd3.addTextChangedListener(watcher);
edtPwd4.addTextChangedListener(watcher);
edtPwd5.addTextChangedListener(watcher);
edtPwd6.addTextChangedListener(watcher);
}
private TextWatcher watcher = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Log.e("xxxxx", charSequence.toString());
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
Log.e("xxxxx", charSequence.toString());
}
@Override
public void afterTextChanged(Editable editable) {
}
};
/**
* 支付密码
*/
private void payDialog() {
final SetPasswordDialog dialog = new SetPasswordDialog(this);
dialog.setOutColse(false);
dialog.getPayViewPass().setPayClickListener(new PayPassView.OnPayClickListener() {
@Override
public void onPassFinish(String passContent) {
//输入完成
showToast(passContent);
startActivity(CashWithdrawalDetailsActivity.getIntent(mActivity));
dialog.dismiss();
}
@Override
public void onPayClose() {
dialog.dismiss();
}
@Override
public void onPayForget() {
//忘记密码
dialog.dismiss();
}
});
} }
} }
...@@ -101,7 +101,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> { ...@@ -101,7 +101,7 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
startActivity(new Intent(getApplicationContext(), CommissionDetailActivity.class)); startActivity(new Intent(getApplicationContext(), CommissionDetailActivity.class));
} else if (id == R.id.rl_item_withdrawals_record) { } else if (id == R.id.rl_item_withdrawals_record) {
//提现记录 //提现记录
startActivity(new Intent(getApplicationContext(), SetPayPwdActivity.class));
} }
} }
} }
...@@ -47,7 +47,7 @@ public class ConsumeListAdapter extends BaseQuickAdapter<ConsumeListBean.Consume ...@@ -47,7 +47,7 @@ public class ConsumeListAdapter extends BaseQuickAdapter<ConsumeListBean.Consume
} else { } else {
builder.append("-"); builder.append("-");
} }
builder.append("").append(item.getAmount()); builder.append("¥").append(item.getAmount());
helper.setText(R.id.tv_amount, builder.toString()); helper.setText(R.id.tv_amount, builder.toString());
} }
......
...@@ -3,10 +3,8 @@ package com.xxrv.wallet.adapter; ...@@ -3,10 +3,8 @@ package com.xxrv.wallet.adapter;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.text.TextUtils; import android.text.TextUtils;
import com.base.utils.ui.image.round.RoundImageView;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder; import com.chad.library.adapter.base.BaseViewHolder;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.rv.component.utils.DateUtils; import com.rv.component.utils.DateUtils;
import com.xxrv.wallet.R; import com.xxrv.wallet.R;
import com.xxrv.wallet.bean.IncomeRecordsBean; import com.xxrv.wallet.bean.IncomeRecordsBean;
......
package com.xxrv.wallet.dialog;
import android.app.AlertDialog;
import android.content.Context;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.widget.LinearLayout;
import com.xxrv.wallet.R;
import com.xxrv.wallet.view.PayPassView;
/**
* 使用弹框作为容器
*/
public class SetPasswordDialog {
private AlertDialog mDialog;//弹框
private Window window;//窗口
private Context mContext;//上下文
private int mThemeResId;//主题
private View mDialogLayout;//布局
/**
* 默认样式
* @param context
*/
public SetPasswordDialog(Context context) {
this.mContext = context;
this.mThemeResId= R.style.dialog_pay_theme;
this.mDialogLayout = LayoutInflater.from(mContext).inflate(R.layout.view_set_paypass_layout,null);
mDialog=new AlertDialog.Builder(mContext,mThemeResId).create();
mDialog.setCancelable(true);
mDialog.show();
mDialog.getWindow().setDimAmount(0.4f);//设置透明度0.4
window = mDialog.getWindow();
window.setLayout(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
window.setContentView(mDialogLayout);//设置弹框布局
mDialog.setCanceledOnTouchOutside(false);
window.setWindowAnimations(R.style.dialogOpenAnimation); //添加动画
window.setGravity(Gravity.BOTTOM);//底部
}
/**
* 得到PayPassView控件
* @return
*/
public PayPassView getPayViewPass() {
return mDialogLayout.findViewById(R.id.pay_View);
}
/**
* 自定义
* @param context
* @param themeResId 主题样式
*/
public SetPasswordDialog(Context context, int themeResId) {
this.mContext = context;
this.mThemeResId=themeResId;
this.mDialogLayout = LayoutInflater.from(mContext).inflate(R.layout.view_paypass_dialog,null);
}
/**
* 初始化Dialog
*/
public SetPasswordDialog setAlertDialog(){
mDialog=new AlertDialog.Builder(mContext,mThemeResId).create();
mDialog.setCancelable(true);//按返回键退出
mDialog.show();
return this;
}
public SetPasswordDialog setAlertDialog(boolean isBack){
mDialog=new AlertDialog.Builder(mContext,mThemeResId).create();
mDialog.setCancelable(isBack);//按返回键退出
mDialog.show();
return this;
}
/**
* 设置弹框大小 透明度
*/
public SetPasswordDialog setWindowSize(int width, int height, float amount){
mDialog.getWindow().setDimAmount(amount);//设置透明度
window = mDialog.getWindow();
window.setLayout(width,height);
window.setContentView(mDialogLayout);//设置弹框布局
return this;
}
/**
* 设置弹框宽高 透明度
* custom=2 自适应高度
* custom=其他 指定高度
*/
public SetPasswordDialog setWindowSize(int width, int height, int custom, float amount){
if(custom==2){
mDialog.getWindow().setDimAmount(amount);//设置透明度
window = mDialog.getWindow();
window.setLayout(width, LinearLayout.LayoutParams.WRAP_CONTENT);
window.setContentView(mDialogLayout);//设置弹框布局
return this;
}
else {
mDialog.getWindow().setDimAmount(amount);//设置透明度
window = mDialog.getWindow();
window.setLayout(width,height );
window.setContentView(mDialogLayout);//设置弹框布局
return this;
}
}
/**
* 点击外部消失
*/
public SetPasswordDialog setOutColse(boolean isOut){
if (isOut){
mDialog.setCanceledOnTouchOutside(true);
}
else {
mDialog.setCanceledOnTouchOutside(false);
}
return this;
}
/**
* 方式 与位置
*/
public SetPasswordDialog setGravity(int animation, int gravity){
window.setWindowAnimations(animation); //添加动画
window.setGravity(gravity); //底部
return this;
}
/**
* 关闭
*/
public void dismiss() {
if(mDialog!=null&&mDialog.isShowing()){
mDialog.dismiss();
mDialog=null;//清空对象
window=null;
}
}
}
package com.xxrv.wallet.fragment;
import android.os.Bundle;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
public class EnchashmentApplyFragment extends BaseFragment<CommonPresenter> implements BaseQuickAdapter.RequestLoadMoreListener, SimpleRefreshLayout.OnSimpleRefreshListener {
@Override
public void onLoadMoreRequested() {
}
@Override
public int getViewLayout() {
return 0;
}
@Override
protected void initView(Bundle savedInstanceState) {
}
@Override
protected void loadData(Bundle savedInstanceState) {
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
@Override
public void onRefresh() {
}
}
package com.xxrv.wallet.fragment;
import android.os.Bundle;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
public class EnchashmentFinishFragment extends BaseFragment<CommonPresenter> implements BaseQuickAdapter.RequestLoadMoreListener, SimpleRefreshLayout.OnSimpleRefreshListener {
@Override
public void onLoadMoreRequested() {
}
@Override
public int getViewLayout() {
return 0;
}
@Override
protected void initView(Bundle savedInstanceState) {
}
@Override
protected void loadData(Bundle savedInstanceState) {
}
@Override
public void onShowResult(int requestType, BaseBean result) {
}
@Override
public void onRefresh() {
}
}
package com.xxrv.wallet.view;
import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.xxrv.wallet.R;
import java.util.ArrayList;
import java.util.List;
/**
* 自定义支付密码组件
*/
public class SetPayPassView extends RelativeLayout {
private Activity mContext;//上下文
private GridView mGridView; //支付键盘
private String strPass = "";//保存密码
private List<Integer> listNumber;//1,2,3---0
private View mPassLayout;//布局
/**
* 按钮对外接口
*/
public interface OnPayClickListener {
void onPassFinish(String passContent);
}
private OnPayClickListener mPayClickListener;
public void setPayClickListener(OnPayClickListener listener) {
mPayClickListener = listener;
}
//在代码new使用
public SetPayPassView(Context context) {
super(context);
}
//在布局文件中使用的时候调用,多个样式文件
public SetPayPassView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
//在布局文件中使用的时候调用
public SetPayPassView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
this.mContext = (Activity) context;
initView();//初始化
this.addView(mPassLayout); //将子布局添加到父容器,才显示控件
}
/**
* 初始化
*/
private void initView() {
mPassLayout = LayoutInflater.from(mContext).inflate(R.layout.view_set_paypass_layout, null);
mGridView = mPassLayout.findViewById(R.id.gv_pass);
//初始化数据
listNumber = new ArrayList<>();
for (int i = 1; i < 10; i++) {
listNumber.add(i);
}
listNumber.add(10);
listNumber.add(0);
listNumber.add(R.drawable.ic_pay_del0);
mGridView.setAdapter(adapter);
}
/**
* GridView的适配器
*/
BaseAdapter adapter = new BaseAdapter() {
@Override
public int getCount() {
return listNumber.size();
}
@Override
public Object getItem(int position) {
return listNumber.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = View.inflate(mContext, R.layout.view_paypass_gridview_item, null);
holder = new ViewHolder();
holder.btnNumber = (TextView) convertView.findViewById(R.id.btNumber);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
//-------------设置数据----------------
holder.btnNumber.setText(listNumber.get(position) + "");
if (position == 9) {
holder.btnNumber.setText("");
holder.btnNumber.setBackgroundColor(mContext.getResources().getColor(R.color.graye3));
}
if (position == 11) {
holder.btnNumber.setText("");
holder.btnNumber.setBackgroundResource(listNumber.get(position));
}
//监听事件----------------------------
if (position == 11) {
holder.btnNumber.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (position == 11) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
holder.btnNumber.setBackgroundResource(R.drawable.ic_pay_del1);
break;
case MotionEvent.ACTION_MOVE:
holder.btnNumber.setBackgroundResource(R.drawable.ic_pay_del1);
break;
case MotionEvent.ACTION_UP:
holder.btnNumber.setBackgroundResource(R.drawable.ic_pay_del0);
break;
}
}
return false;
}
});
}
holder.btnNumber.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if (position < 11 && position != 9) {//0-9按钮
if (strPass.length() == 6) {
return;
} else {
strPass = strPass + listNumber.get(position);//得到当前数字并累加
if (strPass.length() == 6) {
mPayClickListener.onPassFinish(strPass);//请求服务器验证密码
}
}
} else if (position == 11) {//删除
if (strPass.length() > 0) {
strPass = strPass.substring(0, strPass.length() - 1);//删除一位
}
}
if (position == 9) {//空按钮
}
}
});
return convertView;
}
};
static class ViewHolder {
public TextView btnNumber;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".activity.EnchashmentRecordActivity">
<include layout="@layout/common_line" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite" />
<include layout="@layout/common_line" />
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
\ No newline at end of file
...@@ -7,103 +7,13 @@ ...@@ -7,103 +7,13 @@
<include layout="@layout/common_line" /> <include layout="@layout/common_line" />
<LinearLayout <FrameLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/size_50" android:layout_height="wrap_content">
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/size_20"
android:layout_marginRight="@dimen/dp_10"
android:orientation="horizontal">
<EditText <include layout="@layout/view_pwd_send_code" />
android:id="@+id/edt_phone"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/white"
android:gravity="left|center_vertical"
android:hint="请输入该账号注册的手机号"
android:imeOptions="actionSend"
android:inputType="phone"
android:textColorHint="@color/colorGray"
android:textSize="@dimen/sp_14" />
<ImageView
android:id="@+id/img_clear_phone"
android:layout_width="@dimen/size_30"
android:layout_height="@dimen/size_30"
android:layout_gravity="center_vertical"
android:padding="@dimen/dp_10" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10">
<include layout="@layout/common_line" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10"
android:orientation="horizontal">
<EditText
android:id="@+id/edt_identify_code"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/white"
android:gravity="left|center_vertical"
android:hint="请输入验证码"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="6"
android:textColorHint="@color/colorGray"
android:textSize="@dimen/sp_14" />
<View
android:layout_width="0.1px"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="@color/colorLine" />
<Button
android:id="@+id/btn_send"
android:layout_width="@dimen/size_100"
android:layout_height="match_parent"
android:background="@color/white"
android:gravity="center"
android:text="发送验证码" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10">
<include layout="@layout/common_line" />
</RelativeLayout>
<Button
android:id="@+id/btn_next"
android:layout_width="match_parent"
android:layout_height="@dimen/size_40"
android:layout_marginLeft="@dimen/size_15"
android:layout_marginTop="@dimen/size_20"
android:layout_marginRight="@dimen/size_15"
android:background="@drawable/bg_next_btn_unable"
android:gravity="center"
android:text="下一步"
android:textColor="@color/white"
android:textSize="@dimen/sp_16" />
<include layout="@layout/view_pwd_set_pay_pwd" />
</FrameLayout>
</LinearLayout> </LinearLayout>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
android:orientation="vertical"> android:orientation="vertical">
<com.xxrv.wallet.view.PayPassView <com.xxrv.wallet.view.PayPassView
android:id="@+id/pay_View" android:id="@+id/pay_View"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"/> android:layout_height="match_parent"/>
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_send_code"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginTop="@dimen/size_20"
android:layout_marginRight="@dimen/dp_10"
android:orientation="horizontal">
<EditText
android:id="@+id/edt_phone"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/white"
android:gravity="left|center_vertical"
android:hint="请输入该账号注册的手机号"
android:imeOptions="actionSend"
android:inputType="phone"
android:textColorHint="@color/colorGray"
android:textSize="@dimen/sp_14" />
<ImageView
android:id="@+id/img_clear_phone"
android:layout_width="@dimen/size_30"
android:layout_height="@dimen/size_30"
android:layout_gravity="center_vertical"
android:padding="@dimen/dp_10" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10">
<include layout="@layout/common_line" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10"
android:orientation="horizontal">
<EditText
android:id="@+id/edt_identify_code"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@color/white"
android:gravity="left|center_vertical"
android:hint="请输入验证码"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="6"
android:textColorHint="@color/colorGray"
android:textSize="@dimen/sp_14" />
<View
android:layout_width="0.1px"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10"
android:layout_marginBottom="@dimen/dp_10"
android:background="@color/colorLine" />
<Button
android:id="@+id/btn_send"
android:layout_width="@dimen/size_100"
android:layout_height="match_parent"
android:background="@color/white"
android:gravity="center"
android:text="发送验证码" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_marginRight="@dimen/dp_10">
<include layout="@layout/common_line" />
</RelativeLayout>
<Button
android:id="@+id/btn_next"
android:layout_width="match_parent"
android:layout_height="@dimen/size_40"
android:layout_marginLeft="@dimen/size_15"
android:layout_marginTop="@dimen/size_20"
android:layout_marginRight="@dimen/size_15"
android:background="@drawable/bg_next_btn_unable"
android:gravity="center"
android:text="下一步"
android:textColor="@color/white"
android:textSize="@dimen/sp_16" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll_set_pay_pwd"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/white" android:background="@color/white"
android:orientation="vertical"> android:orientation="vertical">
<include layout="@layout/common_line" />
<LinearLayout <LinearLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="@dimen/size_50" android:layout_height="@dimen/size_50"
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/grayf9"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="15dp"
android:background="@color/graye3">
<GridView
android:id="@+id/gv_pass"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="1dp"
android:horizontalSpacing="1dp"
android:listSelector="@color/graye3"
android:numColumns="3"
android:verticalSpacing="1dp" />
</RelativeLayout>
</LinearLayout>
</RelativeLayout>
...@@ -5,4 +5,9 @@ ...@@ -5,4 +5,9 @@
<item>未到账</item> <item>未到账</item>
<item>已到账</item> <item>已到账</item>
</string-array> </string-array>
<string-array name="enchashment_list">
<item>申请中</item>
<item>已到账</item>
</string-array>
</resources> </resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment