Commit 493bec0a authored by linfeng's avatar linfeng

页面优化和bug修复

parent a6bae431
......@@ -75,6 +75,7 @@ dependencies {
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
// api project(path: ':RvTravel')
api project(':component_resource')
api project(path: ':module_home')
api project(path: ':module_mine')
api project(path: ':module_camp')
......
......@@ -359,7 +359,12 @@
<activity
android:name="com.rv.camp.camp.CampDetailActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" /> <!-- ============================旅游========================================== -->
android:screenOrientation="portrait" />
<activity
android:name="com.rv.camp.camp.CampShopShowActivity"
android:launchMode="singleTask"
android:screenOrientation="portrait" />
<activity android:name=".WakeUpActivity">
<intent-filter>
......
......@@ -4,17 +4,21 @@ import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewPager;
import android.text.TextUtils;
import android.view.KeyEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.alibaba.android.arouter.launcher.ARouter;
import com.frame.base.url.Constance;
import com.frame.rv.config.RvFrameConfig;
......@@ -23,6 +27,7 @@ import com.ruiwenliu.wrapper.base.BaseActivity;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseWrapperFragment;
import com.ruiwenliu.wrapper.bean.ActBean;
import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.listener.SwitchFragment;
import com.ruiwenliu.wrapper.weight.CustomScrollViewPager;
import com.ruiwenliu.wrapper.weight.TitleView;
......@@ -52,6 +57,7 @@ import butterknife.BindView;
import butterknife.OnClick;
public class MainActivity extends BaseActivity<CommonPresenter> {
// @BindView(R2.id.pager_view_fragment)
......@@ -96,6 +102,12 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
return R.layout.activity_main;
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StatusBarUtil.setRootViewFitsSystemWindows(mActivity,false);
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
updateAppUtils = UpdateAppUtils.from(MainActivity.this);
......@@ -121,7 +133,6 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
getActivityPopup();
checkVersion();
}
@Override
......
......@@ -2,10 +2,13 @@ package com.xxfc.rv;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.view.View;
import com.ruiwenliu.wrapper.base.BaseActivity;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.LogUtil;
......@@ -57,7 +60,7 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
* 计时器
*/
private void interval() {
mDisposable = Flowable.interval(3, TimeUnit.SECONDS)
mDisposable = Flowable.interval(2, TimeUnit.SECONDS)
.doOnNext(new Consumer<Long>() {
@Override
public void accept(@NonNull Long aLong) throws Exception {
......@@ -94,4 +97,10 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
mDisposable.dispose();
}
}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN);
}
}
......@@ -15,6 +15,7 @@ import android.widget.Toast;
import com.alibaba.android.arouter.launcher.ARouter;
import com.ruiwenliu.wrapper.R;
import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.ruiwenliu.wrapper.weight.ToastView;
......@@ -55,6 +56,17 @@ public abstract class BaseWrapperActivity extends SupportActivity {
ButterKnife.bind(this);
initView(savedInstanceState, titleView, getIntent());
//当FitsSystemWindows设置 true 时,会在屏幕最上方预留出状态栏高度的 padding
StatusBarUtil.setRootViewFitsSystemWindows(this,true);
//设置状态栏透明
StatusBarUtil.setTranslucentStatus(this);
//一般的手机的状态栏文字和图标都是白色的, 可如果你的应用也是纯白色的, 或导致状态栏文字看不清
//所以如果你是这种情况,请使用以下代码, 设置状态使用深色文字图标风格, 否则你可以选择性注释掉这个if内容
if (!StatusBarUtil.setStatusBarDarkTheme(this, true)) {
//如果不支持设置深色风格 为了兼容总不能让状态栏白白的看不清, 于是设置一个状态栏颜色为半透明,
//这样半透明+白=灰, 状态栏的文字能看得清
StatusBarUtil.setStatusBarColor(this,0x55000000);
}
}
......
package com.ruiwenliu.wrapper.statusbar;
import android.os.Build;
import android.text.TextUtils;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class OSUtils {
public static final String ROM_MIUI = "MIUI";
public static final String ROM_EMUI = "EMUI";
public static final String ROM_FLYME = "FLYME";
public static final String ROM_OPPO = "OPPO";
public static final String ROM_SMARTISAN = "SMARTISAN";
public static final String ROM_VIVO = "VIVO";
public static final String ROM_QIKU = "QIKU";
private static final String KEY_VERSION_MIUI = "ro.miui.ui.version.name";
private static final String KEY_VERSION_EMUI = "ro.build.version.emui";
private static final String KEY_VERSION_OPPO = "ro.build.version.opporom";
private static final String KEY_VERSION_SMARTISAN = "ro.smartisan.version";
private static final String KEY_VERSION_VIVO = "ro.vivo.os.version";
private static String sName;
private static String sVersion;
public static boolean isEmui() {
return check(ROM_EMUI);
}
public static boolean isMiui() {
return check(ROM_MIUI);
}
public static boolean isVivo() {
return check(ROM_VIVO);
}
public static boolean isOppo() {
return check(ROM_OPPO);
}
public static boolean isFlyme() {
return check(ROM_FLYME);
}
public static boolean is360() {
return check(ROM_QIKU) || check("360");
}
public static boolean isSmartisan() {
return check(ROM_SMARTISAN);
}
public static String getName() {
if (sName == null) {
check("");
}
return sName;
}
public static String getVersion() {
if (sVersion == null) {
check("");
}
return sVersion;
}
public static boolean check(String rom) {
if (sName != null) {
return sName.equals(rom);
}
if (!TextUtils.isEmpty(sVersion = getProp(KEY_VERSION_MIUI))) {
sName = ROM_MIUI;
} else if (!TextUtils.isEmpty(sVersion = getProp(KEY_VERSION_EMUI))) {
sName = ROM_EMUI;
} else if (!TextUtils.isEmpty(sVersion = getProp(KEY_VERSION_OPPO))) {
sName = ROM_OPPO;
} else if (!TextUtils.isEmpty(sVersion = getProp(KEY_VERSION_VIVO))) {
sName = ROM_VIVO;
} else if (!TextUtils.isEmpty(sVersion = getProp(KEY_VERSION_SMARTISAN))) {
sName = ROM_SMARTISAN;
} else {
sVersion = Build.DISPLAY;
if (sVersion.toUpperCase().contains(ROM_FLYME)) {
sName = ROM_FLYME;
} else {
sVersion = Build.UNKNOWN;
sName = Build.MANUFACTURER.toUpperCase();
}
}
return sName.equals(rom);
}
public static String getProp(String name) {
String line = null;
BufferedReader input = null;
try {
Process p = Runtime.getRuntime().exec("getprop " + name);
input = new BufferedReader(new InputStreamReader(p.getInputStream()), 1024);
line = input.readLine();
input.close();
} catch (IOException ex) {
return null;
} finally {
if (input != null) {
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return line;
}
}
package com.ruiwenliu.wrapper.statusbar;
import android.content.Context;
import android.content.res.TypedArray;
import android.os.Build;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import com.ruiwenliu.wrapper.R;
public class StatusBarHeightView extends LinearLayout {
private int statusBarHeight;
private int type;
public StatusBarHeightView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
init(attrs);
}
public StatusBarHeightView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(attrs);
}
public StatusBarHeightView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr);
init(attrs);
}
private void init(@Nullable AttributeSet attrs) {
int resourceId = getResources().getIdentifier("status_bar_height", "dimen", "android");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if(resourceId>0) {
statusBarHeight = getResources().getDimensionPixelSize(resourceId);
}
}else{
//低版本 直接设置0
statusBarHeight = 0;
}
if (attrs != null) {
TypedArray typedArray = getContext().obtainStyledAttributes(attrs, R.styleable.StatusBarHeightView);
type = typedArray.getInt(R.styleable.StatusBarHeightView_use_type, 0);
typedArray.recycle();
}
if (type == 1) {
setPadding(getPaddingLeft(), statusBarHeight, getPaddingRight(), getPaddingBottom());
}
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
if (type == 0) {
setMeasuredDimension(getDefaultSize(getSuggestedMinimumWidth(), widthMeasureSpec),
statusBarHeight);
} else {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
}
}
}
package com.ruiwenliu.wrapper.statusbar;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.support.annotation.IntDef;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class StatusBarUtil {
public final static int TYPE_MIUI = 0;
public final static int TYPE_FLYME = 1;
public final static int TYPE_M = 3;//6.0
@IntDef({TYPE_MIUI,
TYPE_FLYME,
TYPE_M})
@Retention(RetentionPolicy.SOURCE)
@interface ViewType {
}
/**
* 修改状态栏颜色,支持4.4以上版本
*
* @param colorId 颜色
*/
public static void setStatusBarColor(Activity activity, int colorId) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();
window.setStatusBarColor(colorId);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//使用SystemBarTintManager,需要先将状态栏设置为透明
setTranslucentStatus(activity);
SystemBarTintManager systemBarTintManager = new SystemBarTintManager(activity);
systemBarTintManager.setStatusBarTintEnabled(true);//显示状态栏
systemBarTintManager.setStatusBarTintColor(colorId);//设置状态栏颜色
}
}
/**
* 设置状态栏透明
*/
@TargetApi(19)
public static void setTranslucentStatus(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色
Window window = activity.getWindow();
View decorView = window.getDecorView();
//两个 flag 要结合使用,表示让应用的主体内容占用系统状态栏的空间
int option = View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_STABLE;
decorView.setSystemUiVisibility(option);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
//导航栏颜色也可以正常设置
//window.setNavigationBarColor(Color.TRANSPARENT);
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window window = activity.getWindow();
WindowManager.LayoutParams attributes = window.getAttributes();
int flagTranslucentStatus = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
attributes.flags |= flagTranslucentStatus;
//int flagTranslucentNavigation = WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION;
//attributes.flags |= flagTranslucentNavigation;
window.setAttributes(attributes);
}
}
/**
* 代码实现android:fitsSystemWindows
*
* @param activity
*/
public static void setRootViewFitsSystemWindows(Activity activity, boolean fitSystemWindows) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
ViewGroup winContent = (ViewGroup) activity.findViewById(android.R.id.content);
if (winContent.getChildCount() > 0) {
ViewGroup rootView = (ViewGroup) winContent.getChildAt(0);
if (rootView != null) {
rootView.setFitsSystemWindows(fitSystemWindows);
}
}
}
}
/**
* 设置状态栏深色浅色切换
*/
public static boolean setStatusBarDarkTheme(Activity activity, boolean dark) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
setStatusBarFontIconDark(activity, TYPE_M, dark);
} else if (OSUtils.isMiui()) {
setStatusBarFontIconDark(activity, TYPE_MIUI, dark);
} else if (OSUtils.isFlyme()) {
setStatusBarFontIconDark(activity, TYPE_FLYME, dark);
} else {//其他情况
return false;
}
return true;
}
return false;
}
/**
* 设置 状态栏深色浅色切换
*/
public static boolean setStatusBarFontIconDark(Activity activity, @ViewType int type,boolean dark) {
switch (type) {
case TYPE_MIUI:
return setMiuiUI(activity, dark);
case TYPE_FLYME:
return setFlymeUI(activity, dark);
case TYPE_M:
default:
return setCommonUI(activity,dark);
}
}
//设置6.0 状态栏深色浅色切换
public static boolean setCommonUI(Activity activity, boolean dark) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
View decorView = activity.getWindow().getDecorView();
if (decorView != null) {
int vis = decorView.getSystemUiVisibility();
if (dark) {
vis |= View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
} else {
vis &= ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR;
}
if (decorView.getSystemUiVisibility() != vis) {
decorView.setSystemUiVisibility(vis);
}
return true;
}
}
return false;
}
//设置Flyme 状态栏深色浅色切换
public static boolean setFlymeUI(Activity activity, boolean dark) {
try {
Window window = activity.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
Field darkFlag = WindowManager.LayoutParams.class.getDeclaredField("MEIZU_FLAG_DARK_STATUS_BAR_ICON");
Field meizuFlags = WindowManager.LayoutParams.class.getDeclaredField("meizuFlags");
darkFlag.setAccessible(true);
meizuFlags.setAccessible(true);
int bit = darkFlag.getInt(null);
int value = meizuFlags.getInt(lp);
if (dark) {
value |= bit;
} else {
value &= ~bit;
}
meizuFlags.setInt(lp, value);
window.setAttributes(lp);
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
//设置MIUI 状态栏深色浅色切换
public static boolean setMiuiUI(Activity activity, boolean dark) {
try {
Window window = activity.getWindow();
Class<?> clazz = activity.getWindow().getClass();
@SuppressLint("PrivateApi") Class<?> layoutParams = Class.forName("android.view.MiuiWindowManager$LayoutParams");
Field field = layoutParams.getField("EXTRA_FLAG_STATUS_BAR_DARK_MODE");
int darkModeFlag = field.getInt(layoutParams);
Method extraFlagField = clazz.getDeclaredMethod("setExtraFlags", int.class, int.class);
extraFlagField.setAccessible(true);
if (dark) { //状态栏亮色且黑色字体
extraFlagField.invoke(window, darkModeFlag, darkModeFlag);
} else {
extraFlagField.invoke(window, 0, darkModeFlag);
}
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
//获取状态栏高度
public static int getStatusBarHeight(Context context) {
int result = 0;
int resourceId = context.getResources().getIdentifier(
"status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}
}
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="StatusBarHeightView">
<attr name="use_type" format="integer">
<enum name="use_height" value="0" />
<enum name="use_padding_top" value="1" />
</attr>
</declare-styleable>
</resources>
package com.rv.component.dialog;
import android.content.Context;
import android.support.annotation.NonNull;
import android.view.Gravity;
import android.view.ViewGroup;
import com.ruiwenliu.wrapper.dialog.BaseDialog;
/**
* 提示
*/
public class BottomPromptDialog extends BaseDialog {
public BottomPromptDialog(@NonNull Context context) {
super(context);
setDialogParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
}
@Override
public int getViewLayout() {
return R.layout.dialog_prompt_bottom;
}
}
......@@ -13,7 +13,7 @@ public class PaymentTypeSelection extends BaseDialog {
public PaymentTypeSelection(@NonNull Context context) {
super(context);
setDialogParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Gravity.BOTTOM);
findViewById(R.id.rb_alipay).setEnabled(false);
findViewById(R.id.iv_wx_select).setSelected(true);
}
@Override
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="bottom"
android:orientation="vertical"
tools:ignore="MissingDefaultResource">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:padding="13dp"
android:text=""
android:textColor="@color/text_Main"
android:textSize="16sp" />
<include layout="@layout/common_line" />
<Button
android:id="@+id/btn2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:padding="13dp"
android:text=""
android:textColor="@color/text_Main"
android:textSize="16sp" />
<include layout="@layout/common_line" />
<Button
android:id="@+id/btn3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:padding="13dp"
android:text=""
android:textColor="@color/text_Main"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
......@@ -74,12 +74,11 @@
android:layout_height="match_parent"
android:layout_weight="1"/>
<CheckBox
android:id="@+id/rb_wechat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:checked="true"
android:button="@drawable/selector_rv_check" />
<ImageView
android:id="@+id/iv_wx_select"
android:layout_width="@dimen/size_16"
android:layout_height="@dimen/size_16"
android:src="@drawable/selector_rv_icon_mark" />
</LinearLayout>
......@@ -112,11 +111,11 @@
android:layout_height="match_parent"
android:layout_weight="1"/>
<CheckBox
android:id="@+id/rb_alipay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/selector_rv_check" />
<ImageView
android:id="@+id/iv_alipy_select"
android:layout_width="@dimen/size_16"
android:layout_height="@dimen/size_16"
android:src="@drawable/selector_rv_icon_mark" />
</LinearLayout>
<View
......
......@@ -40,6 +40,7 @@ dependencies {
api project(':RvWrapper')
api project(':component_control')
api project(':component_resource')
api project(':component_dialog')
}
......@@ -28,6 +28,7 @@ import com.rv.camp.api.CampApi;
import com.rv.camp.bean.CampListBean;
import com.rv.camp.bean.CampTypeBean;
import com.rv.camp.camp.CampDetailActivity;
import com.rv.camp.camp.CampShopShowActivity;
import com.rv.camp.presenter.CampPresenter;
import java.util.LinkedHashMap;
......@@ -86,7 +87,7 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
permissionProcess();
campAdapter = new CampListAdapter();
rvContent.setLayoutManager(new GridLayoutManager(_mActivity, 2));
rvContent.addItemDecoration(new AbSpacesItemDecoration(15));// 分割线。
rvContent.addItemDecoration(new AbSpacesItemDecoration(20,10));// 分割线。
rvContent.setNestedScrollingEnabled(false);
rvContent.setAdapter(campAdapter);
......@@ -155,7 +156,7 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
isOpen = !isOpen;
} else if (id == R.id.iv_camp_map) {
//地图
showToast("亲,该功能还在开发中。。。");
startActivity(CampShopShowActivity.getIntent(_mActivity));
} else if (id == R.id.v_shadow) {
rvType.setVisibility(View.GONE);
vShadow.setVisibility(View.GONE);
......@@ -296,20 +297,31 @@ public class CampFragment extends BaseFragment<CampPresenter> implements BaseQui
}
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
private int space;
private int left;
private int right;
public AbSpacesItemDecoration(int space) {
this.space = space;
public AbSpacesItemDecoration(int left,int right) {
this.left = left;
this.right = right;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
outRect.top = space;
int childCount = parent.getChildCount();
if ((childCount -1) % 2==0){
outRect.left = left;
outRect.right = right;
outRect.bottom = right;
outRect.top = right;
}else {
outRect.left = right;
outRect.right = left;
outRect.bottom = right;
outRect.top = right;
}
}
}
......
......@@ -18,7 +18,7 @@ public class CampListAdapter extends BaseQuickAdapter<CampListBean.DataBeanX.Dat
}
@Override
protected void convert(BaseViewHolder helper, final CampListBean.DataBeanX.DataBean item) {
GlideManager.getInstance(mContext).loadImage(item.getLogo(), (ImageView)helper.getView(R.id.iv_icon));
GlideManager.getInstance(mContext).loadRoundImage(item.getLogo(), (ImageView)helper.getView(R.id.iv_icon),8);
helper.setText(R.id.tv_type,item.getStoreTypeName());
helper.setText(R.id.tv_name,item.getName());
helper.setText(R.id.tv_city,item.getCityName());
......
......@@ -79,8 +79,10 @@ public class CampListBean extends BaseBean {
private String cityName;//": "广州市",
private String storeTypeName;//": "上海游", --->店铺类型
private String storeld;//": "1", ---->店铺类型id
private String longitude;//": 116.308479,--->经度
private String latitude;//": 39.983171---->纬度
private double longitude;//": 116.308479,--->经度
private double latitude;//": 39.983171---->纬度
private String phone;
private String address;
public String getId() {
......@@ -147,21 +149,37 @@ public class CampListBean extends BaseBean {
this.storeld = storeld;
}
public String getLongitude() {
public double getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public String getLatitude() {
public double getLatitude() {
return latitude;
}
public void setLatitude(String latitude) {
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
}
}
......@@ -2,6 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<LinearLayout
......@@ -12,6 +13,13 @@
android:background="@color/colorWrite"
android:orientation="vertical">
<com.ruiwenliu.wrapper.statusbar.StatusBarHeightView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/colorWrite"
android:orientation="vertical"
app:use_type="use_padding_top">
<RelativeLayout
android:background="@color/colorWrite"
android:layout_width="match_parent"
......@@ -42,6 +50,8 @@
</RelativeLayout>
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
<include layout="@layout/common_line" />
<RelativeLayout
......@@ -57,8 +67,6 @@
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_content"
android:paddingLeft="@dimen/size_12"
android:paddingRight="@dimen/size_12"
android:layout_width="match_parent"
android:layout_height="match_parent" />
......
......@@ -7,12 +7,12 @@
android:orientation="vertical">
<RelativeLayout
android:layout_width="@dimen/size_150"
android:layout_width="match_parent"
android:layout_height="@dimen/size_180">
<ImageView
android:id="@+id/iv_icon"
android:layout_width="@dimen/size_150"
android:layout_width="match_parent"
android:layout_height="@dimen/size_180"
android:scaleType="centerCrop" />
......@@ -43,7 +43,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5"
android:layout_marginBottom="@dimen/size_10"
android:paddingLeft="@dimen/size_5"
android:drawablePadding="@dimen/size_5"
android:drawableLeft="@drawable/campsite_icon_citylocation"
......
package com.xxfc.discovery.adapter;
import android.view.View;
import android.widget.ImageView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
......@@ -19,7 +17,6 @@ public class DiscoveryRecommendAdapter extends BaseQuickAdapter<DiscoveryRecomme
super(R.layout.rv_item_discovery_recommend);
}
@Override
protected void convert(BaseViewHolder helper, DiscoveryRecommendBean.DataBeanX.DataBean item) {
if (item == null) {
......
......@@ -4,6 +4,8 @@ import android.graphics.Rect;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.util.TypedValue;
import android.view.View;
import com.alibaba.android.arouter.launcher.ARouter;
......@@ -70,8 +72,25 @@ public class PatFragment extends BaseFragment<DiscoveryPresenter> implements Si
mSimpleRefreshLayout.setOnSimpleRefreshListener(this);
initRxbus();
mAdapter = new DiscoveryRecommendAdapter();
rvContent.setLayoutManager(new GridLayoutManager(_mActivity, 2));
rvContent.addItemDecoration(new AbSpacesItemDecoration(15));// 分割线。
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
rvContent.setItemAnimator(null);
rvContent.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
int[] first = new int[2];
staggeredGridLayoutManager.findFirstCompletelyVisibleItemPositions(first);
if (newState == RecyclerView.SCROLL_STATE_IDLE && (first[0] == 1 || first[1] == 1)) {
recyclerView.invalidateItemDecorations();
}
}
});
rvContent.setLayoutManager(staggeredGridLayoutManager);
// rvContent.setLayoutManager(new GridLayoutManager(_mActivity, 2));
rvContent.addItemDecoration(new AbSpacesItemDecoration(20, 10));// 分割线。
rvContent.setAdapter(mAdapter);
mAdapter.bindToRecyclerView(rvContent);
mAdapter.setEnableLoadMore(true);
......@@ -92,7 +111,8 @@ public class PatFragment extends BaseFragment<DiscoveryPresenter> implements Si
});
mAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
@Override public void onLoadMoreRequested() {
@Override
public void onLoadMoreRequested() {
if (rvContent != null) {
rvContent.postDelayed(new Runnable() {
@Override
......@@ -110,13 +130,12 @@ public class PatFragment extends BaseFragment<DiscoveryPresenter> implements Si
}, rvContent);
mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
itemDatabean = (DiscoveryRecommendBean.DataBeanX.DataBean) adapter.getItem(position);
int id = view.getId();
if (id == R.id.ll_item_islike){
if (id == R.id.ll_item_islike) {
isLike();
}
}
......@@ -126,8 +145,8 @@ public class PatFragment extends BaseFragment<DiscoveryPresenter> implements Si
private void isLike() {
if (OkGoUtil.getToken() != null) {
Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("Authorization",OkGoUtil.getToken());
mPresenter.postData(RvFrameConfig.HOST,2, DiscoveryApi.DISCOVERY_IM_LOGIN, DiscoveryIMTokenBean.class,headMap, headMap,true);
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postData(RvFrameConfig.HOST, 2, DiscoveryApi.DISCOVERY_IM_LOGIN, DiscoveryIMTokenBean.class, headMap, headMap, true);
}
}
......@@ -168,13 +187,13 @@ public class PatFragment extends BaseFragment<DiscoveryPresenter> implements Si
Map<String, Object> map = new LinkedHashMap<>();
map.put("page", page);
map.put("type", 2);
mPresenter.postData(RvFrameConfig.HOST,0, DiscoveryApi.DISCOVERY_UNAUTH_LIST, DiscoveryRecommendBean.class, map, headMap,page == 1 ? false : false);
mPresenter.postData(RvFrameConfig.HOST, 0, DiscoveryApi.DISCOVERY_UNAUTH_LIST, DiscoveryRecommendBean.class, map, headMap, page == 1 ? false : false);
}
@Override
public void onShowResult(int requestType, BaseBean result) {
mSimpleRefreshLayout.onRefreshComplete();
switch (requestType){
switch (requestType) {
case 0:
processData((DiscoveryRecommendBean) result);
break;
......@@ -195,14 +214,14 @@ public class PatFragment extends BaseFragment<DiscoveryPresenter> implements Si
private void setIMData(DiscoveryIMTokenBean bean) {
if ("0".equals(itemDatabean.getIsPraise())) {//0:未点赞 1:已点赞
Map<String, Object> map = new LinkedHashMap<>();
map.put("access_token",bean.getData());
map.put("messageId",itemDatabean.getMsgId());
mPresenter.postData(3, DiscoveryApi.DISCOVERY_PRAISE_ADD, BaseBean.class, map,true);
map.put("access_token", bean.getData());
map.put("messageId", itemDatabean.getMsgId());
mPresenter.postData(3, DiscoveryApi.DISCOVERY_PRAISE_ADD, BaseBean.class, map, true);
} else {
Map<String, Object> map = new LinkedHashMap<>();
map.put("access_token",bean.getData());
map.put("messageId",itemDatabean.getMsgId());
mPresenter.postData(4, DiscoveryApi.DISCOVERY_PRAISE_DELETE, BaseBean.class, map,true);
map.put("access_token", bean.getData());
map.put("messageId", itemDatabean.getMsgId());
mPresenter.postData(4, DiscoveryApi.DISCOVERY_PRAISE_DELETE, BaseBean.class, map, true);
}
}
......@@ -239,18 +258,29 @@ public class PatFragment extends BaseFragment<DiscoveryPresenter> implements Si
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
private int space;
private int left;
private int right;
public AbSpacesItemDecoration(int space) {
this.space = space;
public AbSpacesItemDecoration(int left, int right) {
this.left = left;
this.right = right;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
outRect.top = space;
int position = parent.getChildAdapterPosition(view);
StaggeredGridLayoutManager.LayoutParams lp = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
if (lp.getSpanIndex() % 2 == 0) {
outRect.left = left;
outRect.right = right;
} else {
outRect.left = right;
outRect.right = left;
}
outRect.top = left;
}
}
}
......@@ -4,6 +4,7 @@ import android.graphics.Rect;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
import com.alibaba.android.arouter.launcher.ARouter;
......@@ -18,6 +19,7 @@ import com.xxfc.discovery.R;
import com.xxfc.discovery.R2;
import com.xxfc.discovery.adapter.DiscoveryRecommendAdapter;
import com.xxfc.discovery.api.DiscoveryApi;
import com.xxfc.discovery.bean.DiscoveryIMTokenBean;
import com.xxfc.discovery.bean.DiscoveryRecommendBean;
import com.xxfc.discovery.presenter.DiscoveryPresenter;
import com.yuyife.okgo.OkGoUtil;
......@@ -41,6 +43,8 @@ public class RecommendFragment extends BaseFragment<DiscoveryPresenter> implemen
private int countPage;
private int mPage;
private DiscoveryRecommendBean.DataBeanX.DataBean itemDatabean;
public static RecommendFragment getInstance(int type) {
Bundle bundl = new Bundle();
bundl.putInt("type", type);
......@@ -59,8 +63,24 @@ public class RecommendFragment extends BaseFragment<DiscoveryPresenter> implemen
mSimpleRefreshLayout.setHeaderView(new SimpleRefreshView(_mActivity));
mSimpleRefreshLayout.setOnSimpleRefreshListener(this);
mRecommendAdapter = new DiscoveryRecommendAdapter();
rvContent.setLayoutManager(new GridLayoutManager(_mActivity, 2));
rvContent.addItemDecoration(new AbSpacesItemDecoration(15));// 分割线。
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL);
rvContent.setItemAnimator(null);
rvContent.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
int[] first = new int[2];
staggeredGridLayoutManager.findFirstCompletelyVisibleItemPositions(first);
if (newState == RecyclerView.SCROLL_STATE_IDLE && (first[0] == 1 || first[1] == 1)) {
recyclerView.invalidateItemDecorations();
}
}
});
rvContent.setLayoutManager(staggeredGridLayoutManager);
rvContent.addItemDecoration(new AbSpacesItemDecoration(20,10));// 分割线。
rvContent.setAdapter(mRecommendAdapter);
mRecommendAdapter.bindToRecyclerView(rvContent);
mRecommendAdapter.setEnableLoadMore(true);
......@@ -111,10 +131,30 @@ public class RecommendFragment extends BaseFragment<DiscoveryPresenter> implemen
}
}, rvContent);
mRecommendAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
@Override
public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
itemDatabean = (DiscoveryRecommendBean.DataBeanX.DataBean) adapter.getItem(position);
int id = view.getId();
if (id == R.id.ll_item_islike){
isLike();
}
}
});
}
private void isLike() {
if (OkGoUtil.getToken() != null) {
Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("Authorization",OkGoUtil.getToken());
mPresenter.postData(RvFrameConfig.HOST,2, DiscoveryApi.DISCOVERY_IM_LOGIN, DiscoveryIMTokenBean.class,headMap, headMap,true);
}
}
@Override
protected void loadData(Bundle savedInstanceState) {
onFresh();
......@@ -142,9 +182,38 @@ public class RecommendFragment extends BaseFragment<DiscoveryPresenter> implemen
@Override
public void onShowResult(int requestType, BaseBean result) {
mSimpleRefreshLayout.onRefreshComplete();
switch (requestType){
case 0:
processData((DiscoveryRecommendBean) result);
break;
case 2:
DiscoveryIMTokenBean intokenBean = (DiscoveryIMTokenBean) result;
setIMData(intokenBean);
break;
case 3:
onFresh();
break;
case 4:
onFresh();
break;
}
}
private void setIMData(DiscoveryIMTokenBean bean) {
if ("0".equals(itemDatabean.getIsPraise())) {//0:未点赞 1:已点赞
Map<String, Object> map = new LinkedHashMap<>();
map.put("access_token",bean.getData());
map.put("messageId",itemDatabean.getMsgId());
mPresenter.postData(3, DiscoveryApi.DISCOVERY_PRAISE_ADD, BaseBean.class, map,true);
} else {
Map<String, Object> map = new LinkedHashMap<>();
map.put("access_token",bean.getData());
map.put("messageId",itemDatabean.getMsgId());
mPresenter.postData(4, DiscoveryApi.DISCOVERY_PRAISE_DELETE, BaseBean.class, map,true);
}
}
private void processData(DiscoveryRecommendBean bean) {
if (mPage == 1) {
countPage = bean.getData().getTotalPage();
......@@ -177,20 +246,27 @@ public class RecommendFragment extends BaseFragment<DiscoveryPresenter> implemen
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
private int space;
private int left;
private int right;
public AbSpacesItemDecoration(int space) {
this.space = space;
public AbSpacesItemDecoration(int left, int right) {
this.left = left;
this.right = right;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int childCount = parent.getChildCount();
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
outRect.top = space;
int position = parent.getChildAdapterPosition(view);
StaggeredGridLayoutManager.LayoutParams lp = (StaggeredGridLayoutManager.LayoutParams) view.getLayoutParams();
if (lp.getSpanIndex() % 2 == 0) {
outRect.left = left;
outRect.right = right;
} else {
outRect.left = right;
outRect.right = left;
}
outRect.top = left;
}
}
}
......@@ -33,11 +33,14 @@ import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.util.LocationManager;
import com.ruiwenliu.wrapper.util.MapUtil;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.control.MyGridView;
import com.rv.component.control.SquareCenterImageView;
import com.rv.component.dialog.BottomPromptDialog;
import com.rv.component.utils.DateUtils;
import com.rv.component.utils.Inc;
import com.xxfc.discovery.R;
......@@ -124,13 +127,12 @@ public class PostPatActivity extends BaseStatusActivity<DiscoveryPresenter> {
if (viewType == 1) {
showSelectPictureDialog();
} else {
// showPictureActionDialog(position);
showPictureActionDialog(position);
}
}
});
}
@Override
public void onShowResult(int requestType, BaseBean result) {
switch (requestType){
......@@ -240,6 +242,34 @@ public class PostPatActivity extends BaseStatusActivity<DiscoveryPresenter> {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_UPLOAD, 0, DiscoveryApi.HTTP_URL_FILE_UPLOADS, DiscoveryUploadImageBean.class, new Image("app", imags), true);
}
private void showPictureActionDialog(int position) {
new BottomPromptDialog(mActivity) {
@Override
public void helper(ViewHolder helper) {
super.helper(helper);
helper.setText(R.id.btn1, "删除");
helper.setText(R.id.btn2, "取消");
helper.setVisible(R.id.btn3,false);
helper.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int i = v.getId();
if (i == R.id.btn1) {
mPhotoList.remove(position);
mAdapter.notifyDataSetInvalidated();
dismiss();
} else if (i == R.id.btn2) {
dismiss();
}
}
}, R.id.btn1, R.id.btn2);
}
}.show();
}
private void showSelectPictureDialog() {
String[] items = new String[]{"拍照", "相片"};
AlertDialog.Builder builder = new AlertDialog.Builder(this).setSingleChoiceItems(items, 0,
......
......@@ -3,9 +3,16 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context=".DiscoveryFragment">
<com.ruiwenliu.wrapper.statusbar.StatusBarHeightView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:use_type="use_padding_top">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
......@@ -36,7 +43,7 @@
</LinearLayout>
</LinearLayout>
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
<include layout="@layout/common_line" />
......
......@@ -13,12 +13,12 @@
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_180">
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv_icon"
android:layout_width="match_parent"
android:layout_height="@dimen/size_180"
android:layout_height="wrap_content"
android:scaleType="centerCrop" />
<ImageView
......
......@@ -161,7 +161,7 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
private OrderPriceDetailPw detailPw;//显示订单价格明细弹窗
private OrderPriceDetailBean orderPriceDetailBean;//订单价格明细实体类
private IWXAPI api;
private int payType;//选择支付类型
private int payType = 1;//选择支付类型
private OrderPriceBean priceBean;
BeanUserInfo.UserInfo info = null;
private int deductiblePriceType;
......@@ -467,13 +467,12 @@ public class ConfirmOrderActivity extends BaseStatusActivity<CommonPresenter> {
dismiss();
} else if (i == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
helper.getView(R.id.iv_wx_select).setSelected(true);
helper.getView(R.id.iv_alipy_select).setSelected(false);
} else if (i == R.id.ll_item_alipay) {
payType = 2;
helper.setChecked(R.id.rb_wechat, false);
helper.setChecked(R.id.rb_alipay, true);
helper.getView(R.id.iv_wx_select).setSelected(false);
helper.getView(R.id.iv_alipy_select).setSelected(true);
} else if (i == R.id.tv_pay_immediately) {
dismiss();
createOrder(1);
......
......@@ -140,8 +140,6 @@ public class HomeFragment extends BaseFragment<CommonPresenter> implements Obser
ImageView travelServerImage;
@BindView(R2.id.tv_rv_city)
TextView tvRvCity;
@BindView(R2.id.tv_book_now)
TextView tvBookNow;
@BindView(R2.id.tv_rv_hot_label1)
TextView tvRvHotLabel1;
@BindView(R2.id.tv_rv_hot_label2)
......
......@@ -49,6 +49,7 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
private int mPage;
private int countPage;
private IWXAPI api;
private int payType =1;//选择支付类型
public static AllOrderFragment getInstance(int type) {
Bundle bundl = new Bundle();
......@@ -215,10 +216,14 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
if (id == R.id.iv_close) {
dismiss();
} else if (id == R.id.ll_item_wechat) {
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
payType = 1;
helper.getView(R.id.iv_wx_select).setSelected(true);
helper.getView(R.id.iv_alipy_select).setSelected(false);
} else if (id == R.id.ll_item_alipay) {
showToast("该功能还没有开通!");
payType = 2;
helper.getView(R.id.iv_wx_select).setSelected(false);
helper.getView(R.id.iv_alipy_select).setSelected(true);
} else if (id == R.id.tv_pay_immediately) {
dismiss();
createOrder(no, 1, 1);
......
......@@ -67,7 +67,7 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
private int mPage;
private int countPage;
private IWXAPI api;
private int payType;//选择支付类型
private int payType = 1;//选择支付类型
private static final int SDK_ALI_PAY_FLAG = 11;
......@@ -265,12 +265,12 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
dismiss();
} else if (id == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
helper.getView(R.id.iv_wx_select).setSelected(true);
helper.getView(R.id.iv_alipy_select).setSelected(false);
} else if (id == R.id.ll_item_alipay) {
payType = 2;
helper.setChecked(R.id.rb_wechat, false);
helper.setChecked(R.id.rb_alipay, true);
helper.getView(R.id.iv_wx_select).setSelected(false);
helper.getView(R.id.iv_alipy_select).setSelected(true);
} else if (id == R.id.tv_pay_immediately) {
dismiss();
createOrder(no);
......
......@@ -281,10 +281,13 @@ public class MemberOrderDetailsActivity extends BaseStatusActivity<PickerPresent
if (id == R.id.iv_close) {
dismiss();
} else if (id == R.id.ll_item_wechat) {
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
// payType = 1;
helper.getView(R.id.iv_wx_select).setSelected(true);
helper.getView(R.id.iv_alipy_select).setSelected(false);
} else if (id == R.id.ll_item_alipay) {
showToast("该功能还没有开通!");
// payType = 2;
helper.getView(R.id.iv_wx_select).setSelected(false);
helper.getView(R.id.iv_alipy_select).setSelected(true);
} else if (id == R.id.tv_pay_immediately) {
dismiss();
createOrder(no, 1, 1);
......
......@@ -95,7 +95,7 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
private String webUrl;
private int status;
private String no;
private int payType;//选择支付类型
private int payType = 1;//选择支付类型
private final int TYPE_REQUEST_EVALUATION = 1;
private IWXAPI api;
......@@ -320,12 +320,12 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
dismiss();
} else if (id == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
helper.getView(R.id.iv_wx_select).setSelected(true);
helper.getView(R.id.iv_alipy_select).setSelected(false);
} else if (id == R.id.ll_item_alipay) {
payType = 2;
helper.setChecked(R.id.rb_wechat, false);
helper.setChecked(R.id.rb_alipay, true);
helper.getView(R.id.iv_wx_select).setSelected(false);
helper.getView(R.id.iv_alipy_select).setSelected(true);
} else if (id == R.id.tv_pay_immediately) {
dismiss();
createOrder(no);
......
......@@ -84,7 +84,7 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
private IWXAPI api;
private double orderAmount;
private OrderListBean.DataBeanX.DataBean dataBean;
private int payType;//选择支付类型
private int payType = 1;//选择支付类型
public static Intent getIntent(Context context, OrderListBean.DataBeanX.DataBean dataBean) {
......@@ -294,12 +294,12 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
dismiss();
} else if (id == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
helper.getView(R.id.iv_wx_select).setSelected(true);
helper.getView(R.id.iv_alipy_select).setSelected(false);
} else if (id == R.id.ll_item_alipay) {
payType = 2;
helper.setChecked(R.id.rb_wechat, false);
helper.setChecked(R.id.rb_alipay, true);
helper.getView(R.id.iv_wx_select).setSelected(false);
helper.getView(R.id.iv_alipy_select).setSelected(true);
} else if (id == R.id.tv_pay_immediately) {
dismiss();
createOrder(no);
......
......@@ -6,13 +6,15 @@
android:background="@color/colorLine"
android:orientation="vertical">
<com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
<com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.rv.component.utils.ObservableScrollView
android:id="@+id/scrollview"
android:scrollbars="none"
android:layout_width="match_parent"
android:layout_height="wrap_content">
......@@ -321,16 +323,16 @@
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
<Button
android:id="@+id/tv_select_car"
android:layout_width="0dp"
android:layout_height="@dimen/size_40"
android:layout_weight="1"
android:background="@drawable/home_button_select_car"
android:background="@drawable/shape_rv_bg_shallow_dark_yellow_circle"
android:gravity="center"
android:text="立即选车"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_14" />
android:textSize="@dimen/text_16" />
<TextView
android:id="@+id/tv_car_rental_guide"
......@@ -379,12 +381,12 @@
<include layout="@layout/common_line" />
<TextView
<Button
android:id="@+id/tv_book_now"
android:layout_width="match_parent"
android:layout_height="@dimen/size_40"
android:layout_marginTop="@dimen/size_20"
android:background="@drawable/home_button_select_car"
android:background="@drawable/shape_rv_bg_shallow_dark_yellow_circle"
android:gravity="center"
android:text="立即预订"
android:textColor="@color/colorWrite"
......@@ -623,7 +625,9 @@
<LinearLayout
android:id="@+id/ll_item_activity_all"
android:layout_width="match_parent"
android:layout_height="@dimen/size_25"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_10"
android:layout_marginBottom="@dimen/size_10"
android:gravity="center_vertical"
android:orientation="horizontal"
android:paddingLeft="@dimen/size_15"
......@@ -665,8 +669,8 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5"
android:layout_marginBottom="@dimen/size_5"
android:layout_marginTop="@dimen/size_10"
android:layout_marginBottom="@dimen/size_10"
android:paddingLeft="@dimen/size_15"
android:paddingRight="@dimen/size_15"
android:text="精选优质旅游路线,满足你的出行需求"
......@@ -712,7 +716,7 @@
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/size_5"
android:layout_marginTop="@dimen/size_10"
android:paddingLeft="@dimen/size_15"
android:paddingRight="@dimen/size_15"
android:text="分享精彩时刻"
......@@ -722,7 +726,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/size_15"
android:layout_marginTop="@dimen/size_15"
android:layout_marginTop="@dimen/size_10"
android:layout_marginRight="@dimen/size_15"
android:layout_marginBottom="@dimen/size_15"
android:orientation="horizontal">
......@@ -1054,8 +1058,14 @@
</com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout>
<LinearLayout
<com.ruiwenliu.wrapper.statusbar.StatusBarHeightView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/ll_item_title"
android:orientation="vertical"
app:use_type="use_padding_top">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50"
android:gravity="center"
......@@ -1152,6 +1162,6 @@
android:textSize="@dimen/text_8" />
</LinearLayout>
</LinearLayout>
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
</RelativeLayout>
\ No newline at end of file
......@@ -33,6 +33,7 @@ import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.bean.UserInfoBean;
import com.ruiwenliu.wrapper.browse.ActivityImageBrowseInt;
import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout;
......
......@@ -128,14 +128,14 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements
//热门游
mPopularBrigadeAdapter = new PopularBrigadeAdapter();
rvPopularBrigade.setLayoutManager(new LinearLayoutManager(_mActivity, LinearLayoutManager.HORIZONTAL, false));
rvPopularBrigade.addItemDecoration(new AbSpacesItemDecoration(5));// 分割线。
// rvPopularBrigade.addItemDecoration(new AbSpacesItemDecoration(20,10));// 分割线。
rvPopularBrigade.setNestedScrollingEnabled(false);
rvPopularBrigade.setAdapter(mPopularBrigadeAdapter);
//全部热门旅游
mAllPopularAdapter = new AllPopularAdapter();
rvPopularMore.setLayoutManager(new GridLayoutManager(_mActivity, 3));
rvPopularMore.addItemDecoration(new AbSpacesItemDecoration(23));// 分割线。
rvPopularMore.addItemDecoration(new AbSpacesItemDecoration2(20,10));// 分割线。
// rvPopularMore.setNestedScrollingEnabled(false);
rvPopularMore.setAdapter(mAllPopularAdapter);
......@@ -444,20 +444,61 @@ public class TourismFragment extends BaseFragment<TourismPresenter> implements
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
private int space;
private int left;
private int right;
public AbSpacesItemDecoration(int space) {
this.space = space;
public AbSpacesItemDecoration(int left,int right) {
this.left = left;
this.right = right;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
//注释这两行是为了上下间距相同
// if(parent.getChildAdapterPosition(view)==0){
outRect.top = space;
int childCount = parent.getChildCount();
if ((childCount -1) % 2==0){
outRect.left = left;
outRect.right = right;
outRect.bottom = right;
outRect.top = right;
}else {
outRect.left = right;
outRect.right = left;
outRect.bottom = right;
outRect.top = right;
}
}
}
public class AbSpacesItemDecoration2 extends RecyclerView.ItemDecoration {
private int left;
private int right;
public AbSpacesItemDecoration2(int left,int right) {
this.left = left;
this.right = right;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
int childCount = parent.getChildCount();
if (childCount % 3==1){
outRect.left = left;
outRect.right = right;
outRect.bottom = right;
outRect.top = right;
}else if (childCount % 3 == 2){
outRect.left = right;
outRect.right = right;
outRect.bottom = right;
outRect.top = right;
}else if (childCount % 3 ==0){
outRect.left = right;
outRect.right = left;
outRect.bottom = right;
outRect.top = right;
}
}
}
......
......@@ -18,7 +18,7 @@ public class AllPopularAdapter extends BaseQuickAdapter<BeanPopularBrigadeAll.Da
@Override
protected void convert(BaseViewHolder helper, BeanPopularBrigadeAll.DataBeanX.DataBean item) {
GlideManager.getInstance(mContext).loadImage(item.getImg(), (ImageView)helper.getView(R.id.iv_icon));
GlideManager.getInstance(mContext).loadRoundImage(item.getImg(), (ImageView)helper.getView(R.id.iv_icon),8);
helper.setText(R.id.tv_hot,item.getName());
}
}
......@@ -17,7 +17,7 @@ public class PopularBrigadeAdapter extends BaseQuickAdapter<BeanPopularBrigade.D
@Override
protected void convert(BaseViewHolder helper, BeanPopularBrigade.DataBean item) {
GlideManager.getInstance(mContext).loadImage(item.getImg(), (ImageView)helper.getView(R.id.iv_icon));
GlideManager.getInstance(mContext).loadRoundImage(item.getImg(), (ImageView)helper.getView(R.id.iv_icon),8);
helper.setText(R.id.tv_hot,item.getName());
}
}
......@@ -18,7 +18,7 @@ public class RecommendedRouteAdapter extends BaseQuickAdapter<BeanTourAround.Dat
@Override
protected void convert(BaseViewHolder helper, BeanTourAround.DataBeanX.DataBean item) {
GlideManager.getInstance(mContext).loadImage(item.getCover(), (ImageView)helper.getView(R.id.iv_icon));
GlideManager.getInstance(mContext).loadRoundImage(item.getCover(), (ImageView)helper.getView(R.id.iv_icon),8);
helper.setText(R.id.tv_title,item.getName());
helper.setText(R.id.tv_price,String.format("¥%1$s%2$s",item.getPrice(),item.getUnit()));
}
......
......@@ -24,6 +24,7 @@ import com.ruiwenliu.wrapper.util.glide.GlideManager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.tourism.R;
import com.rv.tourism.R2;
import com.rv.tourism.TourismFragment;
import com.rv.tourism.adapter.AllPopularAdapter;
import com.rv.tourism.adapter.RecommendedRouteAdapter;
import com.rv.tourism.api.TourismApi;
......@@ -87,6 +88,7 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
protected void initView(Bundle savedInstanceState, final TitleView titleView, Intent intent) {
name = intent.getStringExtra("name");
titleView.setTitle(name);
titleView.setDividerDrawable(getResources().getDrawable(R.drawable.common_icon_rig_gray));
id = intent.getStringExtra("id");
......@@ -99,7 +101,7 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
//全部热门旅游
mAllPopularAdapter = new AllPopularAdapter();
rvPopularMore.setLayoutManager(new GridLayoutManager(mActivity, 3));
rvPopularMore.addItemDecoration(new AbSpacesItemDecoration(23));// 分割线。
rvPopularMore.addItemDecoration(new AbSpacesItemDecoration2(20,10));// 分割线。
// rvPopularMore.setNestedScrollingEnabled(false);
rvPopularMore.setAdapter(mAllPopularAdapter);
......@@ -302,22 +304,35 @@ public class PopularTourListActivity extends BaseStatusActivity<TourismPresenter
// }
public class AbSpacesItemDecoration extends RecyclerView.ItemDecoration {
public class AbSpacesItemDecoration2 extends RecyclerView.ItemDecoration {
private int space;
private int left;
private int right;
public AbSpacesItemDecoration(int space) {
this.space = space;
public AbSpacesItemDecoration2(int left,int right) {
this.left = left;
this.right = right;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.left = space;
outRect.right = space;
outRect.bottom = space;
//注释这两行是为了上下间距相同
// if(parent.getChildAdapterPosition(view)==0){
outRect.top = space;
int childCount = parent.getChildCount();
if (childCount % 3==1){
outRect.left = left;
outRect.right = right;
outRect.bottom = right;
outRect.top = right;
}else if (childCount % 3 == 2){
outRect.left = right;
outRect.right = right;
outRect.bottom = right;
outRect.top = right;
}else if (childCount % 3 ==0){
outRect.left = right;
outRect.right = left;
outRect.bottom = right;
outRect.top = right;
}
}
}
......
......@@ -133,7 +133,7 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
private OrderPriceDetailBean orderPriceDetailBean;//订单价格明细实体类
private OrderPriceDetailPw detailPw;//显示订单价格明细弹窗
private BeanConfirmOrder info;
private int payType;//选择支付类型
private int payType = 1;//选择支付类型
private List<CouponBean.DataBean> couponDataList;//优惠券数据
......@@ -493,13 +493,12 @@ public class TravelerConfirmOrderActivity extends BaseStatusActivity<TourismPres
dismiss();
} else if (i == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
helper.getView(R.id.iv_wx_select).setSelected(true);
helper.getView(R.id.iv_alipy_select).setSelected(false);
} else if (i == R.id.ll_item_alipay) {
payType = 2;
helper.setChecked(R.id.rb_wechat, false);
helper.setChecked(R.id.rb_alipay, true);
helper.getView(R.id.iv_wx_select).setSelected(false);
helper.getView(R.id.iv_alipy_select).setSelected(true);
} else if (i == R.id.tv_pay_immediately) {
dismiss();
......
......@@ -20,7 +20,7 @@
android:layout_marginTop="@dimen/size_20"
android:layout_marginBottom="@dimen/size_20"
android:layout_height="wrap_content"
android:text="推荐路线"/>
android:text="— 推荐路线 —"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_recommended_route"
......@@ -42,7 +42,7 @@
android:textColor="@color/colorWrite"
android:gravity="center"
android:textSize="@dimen/text_16"
android:text="选择旅游类型"/>
android:text="— 选择旅游类型 —"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/rv_popular_more"
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/travel_fragment_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:focusable="true"
android:focusableInTouchMode="true"
android:background="@color/colorLine"
android:orientation="vertical">
<RelativeLayout
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorLine"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
<com.ruiwenliu.wrapper.statusbar.StatusBarHeightView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:background="@color/colorWrite"
android:orientation="vertical"
app:use_type="use_padding_top">
<LinearLayout
android:layout_width="match_parent"
......@@ -94,10 +87,13 @@
android:src="@drawable/common_journey_service_gray" />
</LinearLayout>
<com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
<include layout="@layout/common_line" />
<com.ruiwenliu.wrapper.weight.refresh.SimpleRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.NestedScrollView
......@@ -138,15 +134,15 @@
android:textColor="@color/colorMain"
android:textSize="@dimen/text_16" />
<ImageView
<TextView
android:id="@+id/iv_popular_brigade_many"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingRight="@dimen/size_15"
android:clickable="true"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/size_15"
android:scaleType="center"
android:src="@mipmap/rv_common_icon_right_arrow" />
android:paddingRight="@dimen/size_15"
android:drawablePadding="@dimen/size_5"
android:text="全部"
android:textSize="@dimen/text_10" />
</LinearLayout>
<android.support.v7.widget.RecyclerView
......@@ -198,7 +194,8 @@
android:layout_width="match_parent"
android:layout_height="@dimen/size_60"
android:gravity="center"
android:text="选择旅游类型"
android:text="— 选择旅游类型 —"
android:layout_marginTop="@dimen/size_20"
android:textColor="@color/colorWrite"
android:textSize="@dimen/text_16" />
......@@ -206,7 +203,7 @@
android:id="@+id/rv_popular_more"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginBottom="@dimen/size_40"
android:paddingBottom="@dimen/size_40"
android:layout_weight="1" />
<ImageView
......@@ -220,7 +217,4 @@
android:src="@mipmap/rv_common_icon_close" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="@dimen/size_110"
android:layout_width="match_parent"
android:gravity="center_horizontal"
android:layout_height="@dimen/size_70">
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_marginLeft="@dimen/size_15"
android:layout_width="@dimen/size_130"
android:layout_height="@dimen/size_80">
......
......@@ -373,12 +373,12 @@ public class MemberCenterActivity extends BaseStatusActivity<MemberPresenter> {
dismiss();
} else if (i == R.id.ll_item_wechat) {
payType = 1;
helper.setChecked(R.id.rb_wechat, true);
helper.setChecked(R.id.rb_alipay, false);
} else if (i == R.id.ll_item_alipay) {
payType = 2 ;
helper.setChecked(R.id.rb_wechat,false);
helper.setChecked(R.id.rb_alipay,true);
helper.getView(com.rv.home.R.id.iv_wx_select).setSelected(true);
helper.getView(com.rv.home.R.id.iv_alipy_select).setSelected(false);
} else if (i == com.rv.home.R.id.ll_item_alipay) {
payType = 2;
helper.getView(com.rv.home.R.id.iv_wx_select).setSelected(false);
helper.getView(com.rv.home.R.id.iv_alipy_select).setSelected(true);
} else if (i == R.id.tv_pay_immediately) {
dismiss();
......
......@@ -33,9 +33,8 @@
android:drawablePadding="@dimen/size_15"
android:hint="搜索目的地/旅游线"
android:paddingLeft="@dimen/size_15"
android:textColor="@color/textMain"
android:textSize="@dimen/text_14" />
android:textSize="@dimen/text_12" />
<TextView
android:id="@+id/tv_search"
......
......@@ -17,6 +17,7 @@ import com.frame.rv.config.RvFrameConfig;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseStatusActivity;
import com.ruiwenliu.wrapper.bean.BeanUserInfo;
import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.ViewHolder;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.dialog.VerifiedTipsDialog;
......@@ -66,6 +67,12 @@ public class WalletActivity extends BaseStatusActivity<WalletPresenter> {
return R.layout.activity_wallet;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StatusBarUtil.setRootViewFitsSystemWindows(mActivity,false);
}
@Override
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false);
......
......@@ -3,6 +3,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:background="@color/colorLine"
tools:context=".activity.WalletActivity">
......@@ -13,6 +14,12 @@
android:layout_height="@dimen/size_220"
android:orientation="vertical">
<com.ruiwenliu.wrapper.statusbar.StatusBarHeightView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:use_type="use_padding_top">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/size_50">
......@@ -35,6 +42,8 @@
android:text="我的钱包"/>
</RelativeLayout>
</com.ruiwenliu.wrapper.statusbar.StatusBarHeightView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_weight="1"
......
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