Commit d1c13db0 authored by jianglx's avatar jianglx

修改目的地导航初始位置的问题;添加程序打开GPS未打开时的对话框提示;修改MyFrameService...

修改目的地导航初始位置的问题;添加程序打开GPS未打开时的对话框提示;修改MyFrameService 服务启动时有时闪退的问题;修改网络异常到正常,数据重新获取的问题;删除没有用到的plugin_login,plugin_time,RvTravel等三个模块
parent c34817ab
......@@ -3,6 +3,7 @@ package com.frame.base;
import android.app.Application;
import android.content.Intent;
import android.content.res.Configuration;
import android.os.Build;
import android.os.Environment;
import android.os.Looper;
import android.util.Log;
......@@ -97,8 +98,12 @@ public abstract class FrameApp extends BaseApp {
if (Config.isOpenTryCatchException) {
openTryException(); //异常捕获,务必在开启Bugly之前调用
}
startService(new Intent(appInstance, MyFrameService.class)); //启动框架后台服务
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
startForegroundService(new Intent(appInstance, MyFrameService.class));
} else {
startService(new Intent(appInstance, MyFrameService.class)); //启动框架后台服务
}
}
private void initAppDir() {
......
package com.frame.base.server;
import android.app.Notification;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
......@@ -44,6 +45,7 @@ public class MyFrameService extends Service {
//getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
init();
startForeground(1, new Notification());
}
......@@ -108,6 +110,7 @@ public class MyFrameService extends Service {
private long heartCount = 0; //跳了多少次
private BeanHeartbeat beanHeartbeat; //心跳实体
public BeanHeartbeat getBeanHeartbeat() {
return beanHeartbeat;
}
......@@ -130,7 +133,7 @@ public class MyFrameService extends Service {
beanHeartbeat.setCount(heartCount);
beanHeartbeat.setTime(System.currentTimeMillis());
if (FrameApp.getInstance().getOnFrameAppListener()!=null) {
if (FrameApp.getInstance().getOnFrameAppListener() != null) {
FrameApp.getInstance().getOnFrameAppListener().onHeartbeat(beanHeartbeat);
}
......
......@@ -8,8 +8,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
flavorDimensions "default"
versionCode 142
versionName "1.4.2"
versionCode 143
versionName "1.4.3"
multiDexEnabled true
ndk {
......
package com.xxfc.rv;
import android.app.AlertDialog;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.content.ContextCompat;
......@@ -23,6 +29,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.receiver.NetWorkReceiver;
import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.listener.SwitchFragment;
import com.ruiwenliu.wrapper.weight.CustomScrollViewPager;
......@@ -90,6 +97,8 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
private UpdateAppUtils updateAppUtils;
private PromotionDialog promotionDialog;
private NetWorkReceiver netReceiver = null;
public static Intent getIntent(Context context) {
return new Intent(context, MainActivity.class);
}
......@@ -114,8 +123,34 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
viewPager.setAdapter(mAdapter);
viewPager.setOffscreenPageLimit(5);
setCurrent(TYPE_HOME_PAGE);
registerNetWorkListener();
SwitchFragment.setFragmentSelected(postion -> setCurrent(postion));
if (!isGpsOpen()) {
new AlertDialog.Builder(this).setTitle("提示")
.setMessage("定位服务尚未打开,定位导航功能可能无法正常使用,是否进入设置界面打开GPS")
.setNegativeButton("下次再说", (dialogInterface, i) -> {
dialogInterface.dismiss();
})
.setPositiveButton("好的", (dialogInterface, i) -> {
Intent intent1 = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent1);
})
.setCancelable(false).show();
}
}
private boolean isGpsOpen() {
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
return locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
}
private void registerNetWorkListener() {
netReceiver = NetWorkReceiver.getInstance();
IntentFilter filter = new IntentFilter();
filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);
registerReceiver(netReceiver, filter);
}
@Override
......@@ -369,5 +404,9 @@ public class MainActivity extends BaseActivity<CommonPresenter> {
public void onDestroy() {
super.onDestroy();
DownloadAppUtils.unRegisterReceiver(getApplicationContext());
if (netReceiver != null) {
unregisterReceiver(netReceiver);
netReceiver = null;
}
}
}
......@@ -60,7 +60,6 @@ public class RvClientApplication extends FrameApp {
ShareInstall.getInstance().reportRegister();
}
LogUtil.setLogEnable(true, getApplicationContext());
if (BuildConfig.DEBUG)
CrashHandler.getInstance().init(getApplicationContext());
// 在使用 SDK 各组间之前初始化 context 信息,传入 ApplicationContext
SDKInitializer.initialize(this);
......
apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
//applicationId "com.rv.travel"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "1.0"
flavorDimensions "default"
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
}
}
javaCompileOptions {
annotationProcessorOptions {
arguments = [moduleName :project.getName() ]
} }
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
repositories {
flatDir {
dirs 'libs' //this way we can find the .aar file in libs folder
// 所有Module应该保持一致,要么加上,要么去掉
//aar包引入
//compile(name:'camerascan-1.0', ext:'aar')
}
}
productFlavors {
//开发环境
dev {
}
sit {
}
pro {
}
}
dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
//api project(path: ':WXPay')
api project(path: ':RvFrame')
api 'com.jakewharton:butterknife:9.0.0-rc1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
implementation 'com.github.zcweng:switch-button:0.0.3@aar'
annotationProcessor'com.alibaba:arouter-compiler:1.1.4'
}
}
# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable
# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.rv.travel" />
\ No newline at end of file
package com.rv.travel;
import android.content.Context;
import android.widget.ImageView;
import android.widget.Toast;
import com.base.utils.tools.android.IntentUtil;
import com.rv.travel.api.ApiUtil;
import com.rv.travel.api.OnApiResponseCallback;
import com.rv.travel.bean.BeanCheckCollection;
import com.rv.travel.bean.BeanOrderPay;
import com.rv.travel.bean.BeanRim;
import com.rv.travel.fragment.TravelFragmentCommitOrder;
import com.rv.travel.fragment.TravelWebFragment;
import com.rv.travel.other.OtherClickListener;
import com.rv.travel.other.OtherOption;
import com.rv.travel.other.TravelFragmentActivity;
public class GoOtherUtil {
public static String travelDetailId = "0";
public static BeanRim mBean;
private static String isCollection = "0"; //0 没有收藏 1 收藏
private static String id;
//去旅游详情
public static void goTravelDetailWeb(final BeanRim bean, final Context context) {
GoOtherUtil.travelDetailId = bean.getId();
mBean = bean;
String url = "https://xxtest.upyuns.com/h5/appHtml/view/travelDetails.html?id=" + bean.getId();
//TravelFragmentActivity.currentFragment = TravelWebFragment.getInstance(url);
TravelFragmentActivity.currentFragment = TravelWebFragment.getInstance(url);
final OtherOption otherOption = new OtherOption();
otherOption.setTitle("详情");
otherOption.setCollect(true);
otherOption.setShare(true);
otherOption.setClickListener(new OtherClickListener() {
@Override
public void onBack() {
TravelFragmentActivity.getInstance().finish();
}
@Override
public void onButton() {
}
@Override
public void onButtonCollect(final ImageView buttonCollect) {
if ("1".equals(isCollection)) {
ApiUtil.cancelCollection(id, "1", new OnApiResponseCallback<String, String>() {
@Override
public void done(String data, String errorMessage) {
Toast.makeText(context, "取消收藏成功", Toast.LENGTH_SHORT).show();
buttonCollect.setImageResource(R.drawable.travel_rv_collect);
isCollection = "0";
}
});
}else {
ApiUtil.addCollection("2", bean.getId(), bean.getName(), bean.getCover(), bean.getPrice(), bean.getUnit(), new OnApiResponseCallback<String, String>() {
@Override
public void done(String data, String errorMessage) {
Toast.makeText(context, "收藏成功", Toast.LENGTH_SHORT).show();
buttonCollect.setImageResource(R.drawable.home_icon_campsite_selected);
isCollection = "1";
}
});
}
}
@Override
public void onButtonShare() {
}
});
TravelFragmentActivity.option = otherOption;
ApiUtil.getIsCollection(bean.getId(), new OnApiResponseCallback<BeanCheckCollection, String>() {
@Override
public void done(BeanCheckCollection data, String errorMessage) {
isCollection = data.getStatus();
id = data.getId();
ImageView buttonCollect = otherOption.getLayout().buttonCollect;
if ("1".equals(data.getStatus())){
buttonCollect.setImageResource(R.drawable.home_icon_campsite_selected);
}else {
buttonCollect.setImageResource(R.drawable.travel_rv_collect);
}
}
});
IntentUtil.startActivity(context, TravelFragmentActivity.class);
}
//去确认订单
public static void goTravelCommitOrder(String data,final Context context) {
TravelFragmentActivity.currentFragment = TravelFragmentCommitOrder.getInstance(data);
OtherOption otherOption = new OtherOption();
otherOption.setTitle("确认下单");
otherOption.setClickListener(new OtherClickListener() {
@Override
public void onBack() {
GoOtherUtil.goTravelDetailWeb(GoOtherUtil.mBean, context);
}
@Override
public void onButton() {
}
@Override
public void onButtonCollect(ImageView buttonCollect) {
}
@Override
public void onButtonShare() {
}
});
TravelFragmentActivity.option = otherOption;
IntentUtil.startActivity(context, TravelFragmentActivity.class);
}
}
package com.rv.travel;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.View;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.base.utils.base.BaseActivity;
import com.frame.rv.OnModuleEventListener;
import com.rv.travel.api.ApiUtil;
import com.rv.travel.api.OnApiResponseCallback;
import com.rv.travel.bean.BeanHot;
import com.rv.travel.bean.BeanTravelMember;
import com.rv.travel.fragment.TravelFragmentHotType;
import com.rv.travel.fragment.TravelFragmentMain;
import com.yuyife.okgo.OkGoUtil;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class TravelActivity extends BaseActivity {
public static boolean isNeedLogin = false; //是否需要登录
public static boolean isGoHotType = false; //是否需要显示热门游碎片
public static BeanHot goHotTypeData = null;//需要显示热门游碎片,要对其赋值
@SuppressLint("StaticFieldLeak")
private static TravelActivity instance;
public static TravelActivity getInstance() {
return instance;
}
public void setHotTypeTitle(String name) {
typeText.setText(name);
}
@BindView(R2.id.travel_city_layout)
LinearLayout cityLayout;
@BindView(R2.id.travel_type_text)
TextView typeText;
@BindView(R2.id.travel_city_text)
TextView cityText;
@BindView(R2.id.search_input)
EditText searchInput;
@BindView(R2.id.search_commit)
TextView searchCommit;
@BindView(R2.id.travel_server_image)
ImageView serverImage;
@BindView(R2.id.travel_hot_more_layout)
LinearLayout hotMoreTitleLayout;
@BindView(R2.id.travel_hot_type_layout)
FrameLayout hotTypeTitleLayout;
@OnClick({
R2.id.travel_hot_type_back,
R2.id.travel_hot_type_select,
R2.id.search_commit,
R2.id.travel_server_image,
})
public void onTravelActivityClick(View view) {
int id = view.getId();
if (id == R.id.travel_hot_type_back) {
setTravelFragmentMain();
} else if (id == R.id.travel_hot_type_select) {
travelFragmentHotType.setHotMoreFragment();
} else if (id == R.id.search_commit) {
String query = searchInput.getText().toString();
if (travelFragmentMain != null) {
travelFragmentMain.getRimData(query);
}
} else if (id == R.id.travel_server_image) {
showToastShort("联系客服");
}
}
@SuppressLint("StaticFieldLeak")
public static LinearLayout hotMoreTitleLayoutStatic;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_travel);
ButterKnife.bind(this);
instance = this;
// ModuleEventUtil.currentActivity = this;
hotMoreTitleLayoutStatic = hotMoreTitleLayout;
onData();
onView();
}
@Override
public void onData() {
// tabLayout.setCurrent(OnModuleEventListener.MODULE_TRAVEL);
//13766666666 12345678
//13612688539 12345678
// ApiUtil.getToken("13612688539", "12345678", new OnApiResponseCallback<Boolean, String>() {
// @Override
// public void done(Boolean data, String errorMessage) {
// if (data) {
//
// }
// }
// });
//判断Token是否过期
ApiUtil.getTravelMember("1", new OnApiResponseCallback<List<BeanTravelMember>, String>() {
@Override
public void done(List<BeanTravelMember> data, String errorMessage) {
if (errorMessage != null && data == null) {
OkGoUtil.setToken(null);
}
}
});
}
@Override
public void onView() {
if (TravelActivity.isGoHotType) {
if (goHotTypeData != null) {
setTravelFragmentHotType(goHotTypeData);
} else {
showToastShort("从其他模块进入热门游,未携带数据");
}
} else {
setTravelFragmentMain();
}
searchInput.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (s != null && s.length() > 0) {
searchCommit.setVisibility(View.VISIBLE);
} else {
searchCommit.setVisibility(View.GONE);
if (travelFragmentMain != null) {
travelFragmentMain.getRimData("");
}
}
}
});
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// ModuleEventUtil.currentActivity = this;
}
private TravelFragmentMain travelFragmentMain;
//主页面,点击 热门游 更多 弹出列表
public void setTravelFragmentMain() {
hotMoreTitleLayout.setVisibility(View.GONE);
hotTypeTitleLayout.setVisibility(View.GONE);
if (travelFragmentMain == null) {
travelFragmentMain = new TravelFragmentMain();
}
setFragment(travelFragmentMain);
}
private TravelFragmentHotType travelFragmentHotType;
//点击 热门游 弹出列表 点击列表条目,设置
public void setTravelFragmentHotType(BeanHot bean) {
hotMoreTitleLayout.setVisibility(View.GONE);
hotTypeTitleLayout.setVisibility(View.VISIBLE);
travelFragmentHotType = TravelFragmentHotType.getInstance(bean);
setFragment(travelFragmentHotType);
}
private void setFragment(Fragment fragment) {
getSupportFragmentManager().beginTransaction().replace(R.id.travel_fragment_layout, fragment).commitAllowingStateLoss();
}
@Override
protected void onDestroy() {
super.onDestroy();
isGoHotType = false;
goHotTypeData = null;
instance = null;
hotMoreTitleLayoutStatic = null;
// if (ModuleEventUtil.getOnModuleEventListener() != null) {
// ModuleEventUtil.getOnModuleEventListener().onClear();
// }
}
}
package com.rv.travel.adapter;
import android.support.annotation.Nullable;
import android.support.v7.widget.CardView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.travel.R;
import com.rv.travel.bean.BeanHot;
import java.util.List;
public class AdapterHot extends BaseQuickAdapter<BeanHot, AdapterHot.AdapterViewHolder> {
public interface OnItemRootClickListener {
void onItemClick(BeanHot bean);
}
private OnItemRootClickListener itemClickListener;
public void setOnItemRootClickListener(OnItemRootClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
}
public AdapterHot(int layoutResId, @Nullable List<BeanHot> data) {
super(layoutResId, data);
}
@Override
protected void convert(AdapterViewHolder helper, final BeanHot item) {
helper.itemRoot.setTag(item);
helper.itemRoot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (itemClickListener != null) {
BeanHot beanHot = (BeanHot) v.getTag();
itemClickListener.onItemClick(beanHot);
}
}
});
helper.itemText.setText(item.getName());
// GlideManager.getInstance(helper.itemImage.getContext()).loadImage(item.getImg(),helper.itemImage);
}
public class AdapterViewHolder extends BaseViewHolder {
CardView itemRoot;
TextView itemText;
ImageView itemImage;
public AdapterViewHolder(View view) {
super(view);
itemRoot = view.findViewById(R.id.item_hot_card_view);
itemImage = view.findViewById(R.id.item_hot_bg_img);
itemText = view.findViewById(R.id.item_hot_text);
}
}
}
package com.rv.travel.adapter;
import android.support.annotation.Nullable;
import android.support.v7.widget.CardView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.travel.R;
import com.rv.travel.bean.BeanRim;
import java.util.List;
public class AdapterRim extends BaseQuickAdapter<BeanRim, AdapterRim.AdapterViewHolder> {
public interface OnItemRootClickListener {
void onItemClick(BeanRim bean);
}
private OnItemRootClickListener itemClickListener;
public void setItemRootClickListener(OnItemRootClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
}
public AdapterRim(int layoutResId, @Nullable List<BeanRim> data) {
super(layoutResId, data);
}
@Override
protected void convert(AdapterViewHolder helper, BeanRim item) {
helper.itemRoot.setTag(item);
helper.itemRoot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (itemClickListener != null) {
BeanRim beanRim = (BeanRim) v.getTag();
itemClickListener.onItemClick(beanRim);
}
}
});
helper.itemTitle.setText(item.getName());
helper.itemPrice.setText(item.getPrice());
helper.itemUnit.setText(item.getUnit());
helper.itemStock.setText(item.getStock());
// GlideManager.getInstance(helper.itemImage.getContext()).loadImage(item.getCover(),helper.itemImage);
}
public class AdapterViewHolder extends BaseViewHolder {
CardView itemRoot;
TextView itemPrice;
TextView itemTitle;
TextView itemUnit;
TextView itemAddress;
TextView itemStock;
ImageView itemImage;
public AdapterViewHolder(View view) {
super(view);
itemRoot = view.findViewById(R.id.item_rim_root);
itemPrice = view.findViewById(R.id.item_rim_price);
itemTitle = view.findViewById(R.id.item_rim_title);
itemUnit= view.findViewById(R.id.item_rim_price_unit);
itemAddress= view.findViewById(R.id.item_rim_address);
itemStock= view.findViewById(R.id.item_rim_stock);
itemImage = view.findViewById(R.id.item_rim_image);
}
}
}
package com.rv.travel.adapter;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.rv.travel.R;
import com.rv.travel.bean.BeanTravelMember;
import java.util.List;
public class AdapterTravelMember extends BaseQuickAdapter<BeanTravelMember, AdapterTravelMember.AdapterViewHolder> {
public interface OnItemAllClickListener {
void onItemRootClick(BeanTravelMember bean);
void onItemDeleteClick(BeanTravelMember bean);
}
private OnItemAllClickListener itemClickListener;
public void setItemRootClickListener(OnItemAllClickListener itemClickListener) {
this.itemClickListener = itemClickListener;
}
public AdapterTravelMember(int layoutResId, @Nullable List<BeanTravelMember> data) {
super(layoutResId, data);
}
@Override
protected void convert(AdapterTravelMember.AdapterViewHolder helper, BeanTravelMember item) {
helper.nameView.setText(item.getName());
helper.itemRoot.setTag(item);
helper.itemRoot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (itemClickListener != null) {
BeanTravelMember BeanTravelMember = (BeanTravelMember) v.getTag();
itemClickListener.onItemRootClick(BeanTravelMember);
}
}
});
helper.deleteView.setTag(item);
helper.deleteView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (itemClickListener != null) {
BeanTravelMember BeanTravelMember = (BeanTravelMember) v.getTag();
itemClickListener.onItemDeleteClick(BeanTravelMember);
}
}
});
if (item.getIsChild().equals("0")) {
helper.isChildView.setText("成人");
} else {
helper.isChildView.setText("儿童");
}
helper.mobileView.setText(item.getPhone());
helper.nameView.setText(item.getName());
if (TextUtil.isEmpty(item.getIdCard())) {
helper.idCardTipView.setVisibility(View.INVISIBLE);
} else {
helper.idCardTipView.setVisibility(View.VISIBLE);
}
helper.idCardView.setText(item.getIdCard());
}
public class AdapterViewHolder extends BaseViewHolder {
LinearLayout itemRoot;
ImageView deleteView;
TextView nameView;
TextView mobileView;
TextView idCardView;
TextView idCardTipView;
TextView isChildView;
public AdapterViewHolder(View view) {
super(view);
itemRoot = view.findViewById(R.id.item_travel_member_root);
deleteView = view.findViewById(R.id.item_travel_member_delete);
nameView = view.findViewById(R.id.item_travel_member_name);
mobileView = view.findViewById(R.id.item_travel_member_mobile);
idCardView = view.findViewById(R.id.item_travel_member_id_card);
idCardTipView = view.findViewById(R.id.item_travel_member_id_card_tip);
isChildView = view.findViewById(R.id.item_travel_member_is_child);
}
}
}
package com.rv.travel.api;
public interface ApiKey {
String STATUS_200="200";
String STATUS_500="500";
String MESSAGE="message";
String DATA="data";
String STATUS="status";
String TOTAL="total";
String LIST="list"; //数组的Key
String ERROR_PREFIX="error:";
String ERROR_NO_STATUS="Status is null or empty";
String ERROR_NO_DATA="data is null or empty";
}
This diff is collapsed.
package com.rv.travel.api;
public interface OnApiResponseCallback<T,V> {
void done(T data, V errorMessage);
}
package com.rv.travel.api;
import com.frame.rv.config.RvFrameConfig;
public interface TravelApi extends RvFrameConfig {
//登录 参数拼接在url上然后 post 请求
String TRAVEL_LOGIN = HOST + "/api/auth/jwt/login";
//查询公司详情 直接 在url上 +/ +参数 get
String QUERY_COMPANY_DETAIL = HOST + "/vehicle/branchCompany/app/unauth/detail/";
//查询Banner get
String QUERY_BANNER_MAIN = HOST + "/api/tour/tourBanner/app/unauth/findBannerlist";
String QUERY_BANNER_HOT = HOST + "/api/tour/tourTagBanner/app/unauth/findById/";
//周边游、推荐路线 get 需要传query关键字,没有关键字就""
String QUERY_RIM_LIST = HOST + "/api/tour/tourGood/app/unauth/getGoodList";
//热门游 路线 get
String QUERY_HOT_LIST = HOST + "/api/tour/tourTag/app/unauth/getTagList";
//获取旅游成员 直接 在url上 +/ +参数 get
String QUERY_TRAVEL_MEMBER = HOST + "/api/tour/tourUser/app/unauth/getTourUser/";
//确认下单
String COMMIT_ORDER = HOST + "/api/order/orderTour/add";
//查费用明细
String QUERY_TRAVEL_MONEY_DETAIL = HOST + "/api/order/orderTour/calculate-price";
//订单支付
String COMMIT_ORDER_PAY = HOST + "/api/order/baseOrder/pay";
//添加收藏
String COMMIT_COLLECT_ADD = HOST + "/api/admin/app/user/collect/add";
//查看是否已经收藏
String COMMIT_COLLECT_IS = HOST + "/api/admin/app/user/collect";
//取消收藏
String COMMIT_COLLECT_REMOVE = HOST + "/api/admin/app/user/collect/remove";
}
package com.rv.travel.bean;
public class BeanBanner {
private String id;//1,
private String title;//"首页",
private String cover;//"http://quanzilife.oss-cn-shenzhen.aliyuncs.com/zhrs_test/admin/hhBwsHpKHj.png",
private String crtName;//"admin",
private String crtTime;//20180822101653,
private String updTime;//20181229143002,
private String url;//"http://www.sczhrs.gov.cn/app/index/policies/policiesH5?id=5",
private String isDel;//0,
private String rank;//0
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getCover() {
return cover;
}
public void setCover(String cover) {
this.cover = cover;
}
public String getCrtName() {
return crtName;
}
public void setCrtName(String crtName) {
this.crtName = crtName;
}
public String getCrtTime() {
return crtTime;
}
public void setCrtTime(String crtTime) {
this.crtTime = crtTime;
}
public String getUpdTime() {
return updTime;
}
public void setUpdTime(String updTime) {
this.updTime = updTime;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public String getIsDel() {
return isDel;
}
public void setIsDel(String isDel) {
this.isDel = isDel;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
}
package com.rv.travel.bean;
public class BeanCheckCollection {
private String id;
private String status;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
}
package com.rv.travel.bean;
public class BeanHot {
private String id;// 1,
private String name;// "上海游",
private String describe;// "测试",
private String isHot;// 1,
private String count;// 0,
private String rank;// 1,
private String isDel;// 0
public String getImg() {
return img;
}
public void setImg(String img) {
this.img = img;
}
private String img;// 0
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public String getIsHot() {
return isHot;
}
public void setIsHot(String isHot) {
this.isHot = isHot;
}
public String getCount() {
return count;
}
public void setCount(String count) {
this.count = count;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public String getIsDel() {
return isDel;
}
public void setIsDel(String isDel) {
this.isDel = isDel;
}
}
package com.rv.travel.bean;
public class BeanLogin {
// {
// "data":{
// "nickname":"XX_414908",
// "headerurl":"https://xxtest.upyuns.com/image/app/default_%20avatar.png",
// "userid":27,
// "username":"13612688539"
// },
// "message":"操作成功",
// "status":200,
// "token":"eyJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIxMzYxMjY4ODUzOSIsInVzZXJJZCI6IjI3IiwicmVxdWVzdFR5cGUiOiJBUFAiLCJleHAiOjE1NjAxNjMwMDN9.OgIQ7SjmX1DYzLDfsXcH-TUbKcatyEz7odkYFpTZ1wdxRB0iIrEKpXtC3zmf5VNDpaDc4cL-8XILiEfFVIGnfRKz4EDeXkFXVlBrqSORGm4TcqFu01aJ6xWVOmjSRkBp2gDhaGF-qOJXNK6Eufz90aF4t_CQ2tS7mG-UIVDty1s"
// }
}
package com.rv.travel.bean;
public class BeanOrderParam {
public String getGoodId() {
return goodId;
}
public void setGoodId(String goodId) {
this.goodId = goodId;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getChildPrice() {
return childPrice;
}
public void setChildPrice(String childPrice) {
this.childPrice = childPrice;
}
public String getSpePriceId() {
return spePriceId;
}
public void setSpePriceId(String spePriceId) {
this.spePriceId = spePriceId;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
private String endTime;//1,
private String goodId;//1,
private String price;//成人价格
private String childPrice;//儿童价格
private String spePriceId;//具体商品id
private String adultNum;//1,
private String childNum;//0,
private String time;//"2019-06-20周四~2019-06-22周六",
private String endAddr;//"广东省清远市尚林临湖雅居05号商铺",
private String startAddr;//"广东省东莞市松山湖",
private String startTime;//"2019-06-20",
private String startCompanyId;//"0",
private String startCompanyName;//"欣新房车控股集团"
public String getAdultNum() {
return adultNum;
}
public void setAdultNum(String adultNum) {
this.adultNum = adultNum;
}
public String getChildNum() {
return childNum;
}
public void setChildNum(String childNum) {
this.childNum = childNum;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public String getEndAddr() {
return endAddr;
}
public void setEndAddr(String endAddr) {
this.endAddr = endAddr;
}
public String getStartAddr() {
return startAddr;
}
public void setStartAddr(String startAddr) {
this.startAddr = startAddr;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getStartCompanyId() {
return startCompanyId;
}
public void setStartCompanyId(String startCompanyId) {
this.startCompanyId = startCompanyId;
}
public String getStartCompanyName() {
return startCompanyName;
}
public void setStartCompanyName(String startCompanyName) {
this.startCompanyName = startCompanyName;
}
}
package com.rv.travel.bean;
import com.google.gson.annotations.SerializedName;
public class BeanOrderPay {
/**
* package : Sign=WXPay
* appid : wx9c9d978e5698d00f
* sign : 180F1140BB832B9AFD2F3A004009C675
* partnerid : 1514583081
* prepayid : wx291947357815824dbfc896009915601400
* noncestr : 78bf2cc2743032339a08797b0776c78e
* timestamp : 1559130404
*/
@SerializedName("package")
private String packageX;
private String appid;
private String sign;
private String partnerid;
private String prepayid;
private String noncestr;
private String timestamp;
public String getPackageX() {
return packageX;
}
public void setPackageX(String packageX) {
this.packageX = packageX;
}
public String getAppid() {
return appid;
}
public void setAppid(String appid) {
this.appid = appid;
}
public String getSign() {
return sign;
}
public void setSign(String sign) {
this.sign = sign;
}
public String getPartnerid() {
return partnerid;
}
public void setPartnerid(String partnerid) {
this.partnerid = partnerid;
}
public String getPrepayid() {
return prepayid;
}
public void setPrepayid(String prepayid) {
this.prepayid = prepayid;
}
public String getNoncestr() {
return noncestr;
}
public void setNoncestr(String noncestr) {
this.noncestr = noncestr;
}
public String getTimestamp() {
return timestamp;
}
public void setTimestamp(String timestamp) {
this.timestamp = timestamp;
}
}
package com.rv.travel.bean;
public class BeanOrderResponse {
private String id;//381,
private String no;//"20190612111223010014",
private String type;//2,
private String detailId;//14,
private String status;//3,
private String goodsAmount;//1380,
private String orderAmount;//1380,
private String realAmount;//880,
private String userId;//27,
private String picture;//"https://xxtest.upyuns.com/image/app/ENRq748FQTq86R8R77J88YEWhnPeZ3.png",
private String name;//"04-05号 惠州长荣大观园2日游",
private String crtTime;//"2019-06-12 11:12:23",
private String crtUser;//"27",
private String crtName;//"13612688539",
private String crtHost;//"116.4.96.152",
private String updTime;//"2019-06-12 11:12:23",
private String updUser;//"27",
private String updName;//"13612688539",
private String updHost;//"116.4.96.152"
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getNo() {
return no;
}
public void setNo(String no) {
this.no = no;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getDetailId() {
return detailId;
}
public void setDetailId(String detailId) {
this.detailId = detailId;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getGoodsAmount() {
return goodsAmount;
}
public void setGoodsAmount(String goodsAmount) {
this.goodsAmount = goodsAmount;
}
public String getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(String orderAmount) {
this.orderAmount = orderAmount;
}
public String getRealAmount() {
return realAmount;
}
public void setRealAmount(String realAmount) {
this.realAmount = realAmount;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getPicture() {
return picture;
}
public void setPicture(String picture) {
this.picture = picture;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCrtTime() {
return crtTime;
}
public void setCrtTime(String crtTime) {
this.crtTime = crtTime;
}
public String getCrtUser() {
return crtUser;
}
public void setCrtUser(String crtUser) {
this.crtUser = crtUser;
}
public String getCrtName() {
return crtName;
}
public void setCrtName(String crtName) {
this.crtName = crtName;
}
public String getCrtHost() {
return crtHost;
}
public void setCrtHost(String crtHost) {
this.crtHost = crtHost;
}
public String getUpdTime() {
return updTime;
}
public void setUpdTime(String updTime) {
this.updTime = updTime;
}
public String getUpdUser() {
return updUser;
}
public void setUpdUser(String updUser) {
this.updUser = updUser;
}
public String getUpdName() {
return updName;
}
public void setUpdName(String updName) {
this.updName = updName;
}
public String getUpdHost() {
return updHost;
}
public void setUpdHost(String updHost) {
this.updHost = updHost;
}
}
package com.rv.travel.bean;
public class BeanRim {
private String id;//37,
private String name;//"04-05号 惠州长荣大观园2日游",
private String cover;//"https://xxtest.upyuns.com/image/app/ENRq748FQTq86R8R77J88YEWhnPeZ3.png",
private String price;//880,
private String childPrice;//500,
private String viewCount;//15,
private String saleCount;//6,
private String describe;//"",
private String content;//"
private String introduce;//
private String explain;//
private String rank;//8,
private String status;//1,
private String crtTime;//1556249282,
private String updTime;//1558418424,
private String recommend;//1,
private String isMember;//1,
private String stock;//44,
private String unit;//"元/人",
private String isDel;//0
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCover() {
return cover;
}
public void setCover(String cover) {
this.cover = cover;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getChildPrice() {
return childPrice;
}
public void setChildPrice(String childPrice) {
this.childPrice = childPrice;
}
public String getViewCount() {
return viewCount;
}
public void setViewCount(String viewCount) {
this.viewCount = viewCount;
}
public String getSaleCount() {
return saleCount;
}
public void setSaleCount(String saleCount) {
this.saleCount = saleCount;
}
public String getDescribe() {
return describe;
}
public void setDescribe(String describe) {
this.describe = describe;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getIntroduce() {
return introduce;
}
public void setIntroduce(String introduce) {
this.introduce = introduce;
}
public String getExplain() {
return explain;
}
public void setExplain(String explain) {
this.explain = explain;
}
public String getRank() {
return rank;
}
public void setRank(String rank) {
this.rank = rank;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getCrtTime() {
return crtTime;
}
public void setCrtTime(String crtTime) {
this.crtTime = crtTime;
}
public String getUpdTime() {
return updTime;
}
public void setUpdTime(String updTime) {
this.updTime = updTime;
}
public String getRecommend() {
return recommend;
}
public void setRecommend(String recommend) {
this.recommend = recommend;
}
public String getIsMember() {
return isMember;
}
public void setIsMember(String isMember) {
this.isMember = isMember;
}
public String getStock() {
return stock;
}
public void setStock(String stock) {
this.stock = stock;
}
public String getUnit() {
return unit;
}
public void setUnit(String unit) {
this.unit = unit;
}
public String getIsDel() {
return isDel;
}
public void setIsDel(String isDel) {
this.isDel = isDel;
}
}
package com.rv.travel.bean;
public class BeanTravelMember {
private String id;//5,
private String userid;//14,
private String name;//"大飞飞",
private String sex;//0,
private String phone;//"15668866666",
private String idCard;//"558564646164949494",
private String crtTime;//1558754042768,
private String updTime;//1558766256489,
private String isdel;//0,
private String isChild;//0大人 1儿童
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getIdCard() {
return idCard;
}
public void setIdCard(String idCard) {
this.idCard = idCard;
}
public String getCrtTime() {
return crtTime;
}
public void setCrtTime(String crtTime) {
this.crtTime = crtTime;
}
public String getUpdTime() {
return updTime;
}
public void setUpdTime(String updTime) {
this.updTime = updTime;
}
public String getIsdel() {
return isdel;
}
public void setIsdel(String isdel) {
this.isdel = isdel;
}
public String getIsChild() {
return isChild;
}
public void setIsChild(String isChild) {
this.isChild = isChild;
}
}
package com.rv.travel.bean;
public class BeanTravelMoneyDetail {
private String orderAmount;//1380,
private String goodsAmount;//1380,
private String realAmount;//880,
private String costDetail;//"{"key;//"费用明细","val;//"","children;//[{"key;//"成人价格","detail;//"¥880.00/人×1人","val;//"¥880.00"}]}",
private String number;//1,
private String childNumber;//0,
private String price;//880,
private String totalPrice;//880,
private String realPrice;//880,
private String childPrice;//500,
private String totalChildPrice;//0,
private String realChildPrice;//0
public String getOrderAmount() {
return orderAmount;
}
public void setOrderAmount(String orderAmount) {
this.orderAmount = orderAmount;
}
public String getGoodsAmount() {
return goodsAmount;
}
public void setGoodsAmount(String goodsAmount) {
this.goodsAmount = goodsAmount;
}
public String getRealAmount() {
return realAmount;
}
public void setRealAmount(String realAmount) {
this.realAmount = realAmount;
}
public String getCostDetail() {
return costDetail;
}
public void setCostDetail(String costDetail) {
this.costDetail = costDetail;
}
public String getNumber() {
return number;
}
public void setNumber(String number) {
this.number = number;
}
public String getChildNumber() {
return childNumber;
}
public void setChildNumber(String childNumber) {
this.childNumber = childNumber;
}
public String getPrice() {
return price;
}
public void setPrice(String price) {
this.price = price;
}
public String getTotalPrice() {
return totalPrice;
}
public void setTotalPrice(String totalPrice) {
this.totalPrice = totalPrice;
}
public String getRealPrice() {
return realPrice;
}
public void setRealPrice(String realPrice) {
this.realPrice = realPrice;
}
public String getChildPrice() {
return childPrice;
}
public void setChildPrice(String childPrice) {
this.childPrice = childPrice;
}
public String getTotalChildPrice() {
return totalChildPrice;
}
public void setTotalChildPrice(String totalChildPrice) {
this.totalChildPrice = totalChildPrice;
}
public String getRealChildPrice() {
return realChildPrice;
}
public void setRealChildPrice(String realChildPrice) {
this.realChildPrice = realChildPrice;
}
}
package com.rv.travel.dialog;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.DialogInterface;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.base.utils.ui.dialog.DialogPlusUtil;
import com.base.utils.ui.dialog.DialogUtil;
import com.frame.base.FrameApp;
import com.orhanobut.dialogplus.DialogPlus;
import com.rv.travel.R;
import com.rv.travel.bean.BeanTravelMember;
import com.rv.travel.bean.BeanTravelMoneyDetail;
import com.rv.travel.fragment.TravelFragmentCommitOrder;
import java.util.List;
public class TravelDialogUtil {
public interface OnDialogDoneCallback<T> {
void done(T t);
}
//选择出游人
public static void showSelectTravel(Context context, final List<BeanTravelMember> data,
final OnDialogDoneCallback<BeanTravelMember> callback) {
final String[] items;
if (data == null || data.size() == 0) {
items = new String[]{"无,去添加!"};
} else {
items = new String[data.size()];
int i = 0;
for (BeanTravelMember bean : data) {
String text = bean.getName();
items[i] = text;
i += 1;
}
}
DialogUtil.getItemDialog(context, items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
if (callback != null) {
if (data != null && data.size() > 0) {
callback.done(data.get(which));
} else {
callback.done(null);
}
}
}
}).setTitle("选择出游人").create().show();
}
public static void showCommitOrderMoneyDetail(final TravelFragmentCommitOrder travelFragmentCommitOrder) {
BeanTravelMoneyDetail moneyDetail = travelFragmentCommitOrder.getMoneyDetailBean();
if (moneyDetail == null) {
travelFragmentCommitOrder.showToastShort("明细数据为空");
return;
}
View dialogView = LayoutInflater.from(travelFragmentCommitOrder.getContext()).inflate(R.layout.dialog_order_money_detail, null);
TravelDialogUtil.mDialogPlus = DialogPlusUtil.getDialogPlus(travelFragmentCommitOrder.getContext(), dialogView)
.create();
TravelDialogUtil.mDialogPlus.show();
TextView moneyText = dialogView.findViewById(R.id.commit_order_money_detail_money_text);
TextView adultDesText = dialogView.findViewById(R.id.commit_order_money_detail_adult_des_text);
TextView childDesText = dialogView.findViewById(R.id.commit_order_money_detail_child_des_text);
TextView adultTotalText = dialogView.findViewById(R.id.commit_order_money_detail_adult_total_money_text);
TextView childTotalText = dialogView.findViewById(R.id.commit_order_money_detail_child_total_money_text);
//订单价格
//moneyText.setText(moneyDetail.getOrderAmount());
moneyText.setText(moneyDetail.getRealAmount());
//大人总价格
if (TextUtil.isEmpty(moneyDetail.getNumber())||moneyDetail.getNumber().equals("0")){
adultTotalText.setText("0");
adultDesText.setText("0");
}else {
adultTotalText.setText(moneyDetail.getTotalPrice());
adultDesText.setText(moneyDetail.getPrice() + "/" + moneyDetail.getNumber());
}
//儿童总价格
if (TextUtil.isEmpty(moneyDetail.getChildNumber())||moneyDetail.getChildNumber().equals("0")){
childTotalText.setText("0");
childDesText.setText("0");
}else {
childTotalText.setText(moneyDetail.getTotalChildPrice());
childDesText.setText(moneyDetail.getChildPrice() + "/" + moneyDetail.getChildNumber());
}
dialogView.findViewById(R.id.money_detail_close).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismissDialogPlus();
}
});
dialogView.findViewById(R.id.commit_order_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismissDialogPlus();
FrameApp.getMainHandler().postDelayed(new Runnable() {
@Override
public void run() {
travelFragmentCommitOrder.commit();
}
}, 600);
}
});
}
@SuppressLint("StaticFieldLeak")
public static DialogPlus mDialogPlus = null;
public static void dismissDialogPlus() {
if (mDialogPlus != null) {
mDialogPlus.dismiss();
mDialogPlus = null;
}
}
private static boolean isPayWx = true;//默认选择微信支付
//选择支付
public static void showPaySelectDialog(final Context context, String price, final OnDialogDoneCallback<Boolean> listener) {
isPayWx = true;
dismissDialogPlus();
View dialogView = LayoutInflater.from(context).inflate(R.layout.dialog_order_select_pay, null);
TravelDialogUtil.mDialogPlus = DialogPlusUtil.getDialogPlus(context, dialogView)
.create();
TravelDialogUtil.mDialogPlus.show();
final TextView priceView = dialogView.findViewById(R.id.select_pay_price);
priceView.setText(price);
final ImageView payWx = dialogView.findViewById(R.id.select_pay_wx);
final ImageView payZfb = dialogView.findViewById(R.id.select_pay_zfb);
payWx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isPayWx = true;
payWx.setImageResource(R.mipmap.common_icon_pay_round);
payZfb.setImageResource(R.mipmap.common_icon_round);
}
});
payZfb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (true){
Toast.makeText(context, "暂不支持", Toast.LENGTH_SHORT).show();
return;
}
isPayWx = false;
payZfb.setImageResource(R.mipmap.common_icon_pay_round);
payWx.setImageResource(R.mipmap.common_icon_round);
}
});
dialogView.findViewById(R.id.select_pay_close).
setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismissDialogPlus();
}
});
dialogView.findViewById(R.id.inquiry_doctor_pay_submit).
setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dismissDialogPlus();
if (listener != null) {
listener.done(isPayWx);
}
}
});
}
}
package com.rv.travel.fragment;
import android.webkit.JavascriptInterface;
import com.rv.travel.GoOtherUtil;
/**
* Js调用Android 是在子线程完成的
*/
public class AndroidInterface {
private TravelWebFragment travelWebFragment;
public AndroidInterface(TravelWebFragment travelWebFragment) {
this.travelWebFragment = travelWebFragment;
}
@JavascriptInterface
public void showButton(String param) {
travelWebFragment.showButtonLayout();
}
@JavascriptInterface
public void readyOrder(String orderJson) {
GoOtherUtil.goTravelCommitOrder(orderJson, travelWebFragment.getContext());
}
}
package com.rv.travel.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.base.animset.util.NiftyEffects;
import com.base.utils.base.BaseFragment;
import com.frame.rv.widget.BaseTipsLayout;
import com.rv.travel.R;
import com.rv.travel.R2;
import com.rv.travel.TravelActivity;
import com.rv.travel.adapter.AdapterHot;
import com.rv.travel.api.ApiUtil;
import com.rv.travel.api.OnApiResponseCallback;
import com.rv.travel.bean.BeanHot;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
//热门旅游 更多
public class TravelFragmentHotMore extends BaseFragment {
private String clientClazzName = null;
public static TravelFragmentHotMore getInstance(String clientClazzName) {
TravelFragmentHotMore instance = new TravelFragmentHotMore();
instance.clientClazzName = clientClazzName;
return instance;
}
@BindView(R2.id.travel_hot_more_recycler)
RecyclerView hotRecycler;
@BindView(R2.id.travel_hot_tips)
BaseTipsLayout hotTips;
@OnClick({R2.id.travel_hot_more_close
})
public void onTravelFragmentHotMoreClick(View view) {
int id = view.getId();
if (id == R.id.travel_hot_more_close) {
NiftyEffects.jelly.getAnimator().in(view);
//关闭
if (clientClazzName == null) {
} else if (clientClazzName.equals(TravelFragmentMain.class.getSimpleName())) {
TravelFragmentMain.hideHotMoreFragment();
} else if (clientClazzName.equals(TravelFragmentHotType.class.getSimpleName())) {
TravelFragmentHotType.hideHotMoreFragment();
}
}
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_travel_hot_more, container, false);
unbinder = ButterKnife.bind(this, view);
return view;
}
Unbinder unbinder;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
onData();
onView();
}
@Override
public void onData() {
setHot();
}
@Override
public void onView() {
}
private AdapterHot adapterHot;
private void setHot() {
hotTips.setVisibility(View.VISIBLE);
List<BeanHot> data = new ArrayList<>();
adapterHot = new AdapterHot(R.layout.item_travel_hot_more, data);
adapterHot.setOnItemRootClickListener(new AdapterHot.OnItemRootClickListener() {
@Override
public void onItemClick(BeanHot bean) {
TravelActivity.getInstance().setHotTypeTitle(bean.getName());
TravelActivity.getInstance().setTravelFragmentHotType(bean);
}
});
GridLayoutManager gridLayoutManager = new GridLayoutManager(baseContext, 3);
hotRecycler.setLayoutManager(gridLayoutManager);
hotRecycler.setAdapter(adapterHot);
ApiUtil.getHotData("1", "1", "50", new OnApiResponseCallback<List<BeanHot>, String>() {
@Override
public void done(List<BeanHot> data, String errorMessage) {
adapterHot.setNewData(data);
hotTips.setData(data);
}
});
}
}
package com.rv.travel.fragment;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import com.base.utils.base.BaseFragment;
import com.base.utils.tools.android.IntentUtil;
import com.frame.rv.widget.BaseTipsLayout;
import com.rv.travel.GoOtherUtil;
import com.rv.travel.R;
import com.rv.travel.R2;
import com.rv.travel.TravelActivity;
import com.rv.travel.adapter.AdapterRim;
import com.rv.travel.api.ApiUtil;
import com.rv.travel.api.OnApiResponseCallback;
import com.rv.travel.bean.BeanBanner;
import com.rv.travel.bean.BeanHot;
import com.rv.travel.bean.BeanRim;
import com.yuyife.banner.Banner;
import com.yuyife.banner.BannerConfig;
import com.yuyife.banner.listener.OnBannerListener;
import com.yuyife.banner.loader.ImageLoader;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
//热门旅游 某个子栏目
public class TravelFragmentHotType extends BaseFragment {
@BindView(R2.id.travel_banner)
Banner banner;
@BindView(R2.id.travel_rim_recycler)
RecyclerView rimRecycler;
@BindView(R2.id.travel_fragment_hot_more_layout)
FrameLayout hotMoreLayout;
@BindView(R2.id.travel_rim_tips)
BaseTipsLayout rimTips;
@SuppressLint("StaticFieldLeak")
public static FrameLayout hotMoreLayoutStatic;
public static TravelFragmentHotType getInstance(BeanHot beanHot) {
TravelFragmentHotType instance = new TravelFragmentHotType();
instance.currentBeanHot = beanHot;
return instance;
}
private BeanHot currentBeanHot = null;
// @OnClick({R2.id.travel_hot_more_image
// })
// public void onTravelFragmentHotTypeClick(View view) {
// int id = view.getId();
// if (id == R.id.travel_hot_more_image) {
// NiftyEffects.jelly.getAnimator().in(view);
//
// }
// }
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_travel_hot_type, container, false);
unbinder = ButterKnife.bind(this, view);
return view;
}
Unbinder unbinder;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
hotMoreLayoutStatic = hotMoreLayout;
onData();
onView();
}
@Override
public void onResume() {
super.onResume();
TravelActivity.getInstance().setHotTypeTitle(currentBeanHot.getName());
}
@Override
public void onData() {
setRim();
}
@Override
public void onView() {
ApiUtil.getBannerDataHot(currentBeanHot.getId(), new OnApiResponseCallback<List<BeanBanner>, String>() {
@Override
public void done(List<BeanBanner> data, String errorMessage) {
setBanner(data);
}
});
}
@Override
public void onDestroyView() {
super.onDestroyView();
hotMoreLayoutStatic = null;
}
private AdapterRim adapterRim;
private void setRim() {
rimTips.setVisibility(View.VISIBLE);
List<BeanRim> data = new ArrayList<>();
adapterRim = new AdapterRim(R.layout.item_travel_rim, data);
adapterRim.setItemRootClickListener(new AdapterRim.OnItemRootClickListener() {
@Override
public void onItemClick(BeanRim bean) {
GoOtherUtil.goTravelDetailWeb(bean, baseContext);
}
});
final LinearLayoutManager linearLayoutManager = new LinearLayoutManager(baseContext);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
rimRecycler.setLayoutManager(linearLayoutManager);
rimRecycler.setAdapter(adapterRim);
ApiUtil.getRimData(currentBeanHot.getId(), "", "1", "50", new OnApiResponseCallback<List<BeanRim>, String>() {
@Override
public void done(List<BeanRim> data, String errorMessage) {
adapterRim.setNewData(data);
rimTips.setData(data);
}
});
}
private ArrayList<String> images = new ArrayList<>(); //图片(默认采用网络地址)
private List<String> titles = new ArrayList<>(); //图片标题
//private List<Integer> localImages = new ArrayList<>(); //图片(本地资源)
private void setBanner(List<BeanBanner> bannerData) {
titles.clear();
images.clear();
if (bannerData != null && bannerData.size() > 0) {
for (BeanBanner bean : bannerData) {
images.add(bean.getCover());
}
for (int i = 0; i < images.size(); i++) {
titles.add("");
}
}
banner.isAutoPlay(true)
.setImages(images)
.setBannerTitles(titles)
.setDelayTime(3000)
.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
// GlideManager.getInstance(context).loadImage(path, imageView);
}
})
.setOnBannerListener(new OnBannerListener() {
@Override
public void OnBannerClick(int position) {
// Bundle bundle = new Bundle();
// bundle.putInt(ActivityImageBrowseUrl.KEY_BACKGROUND, R.color.colorPrimary);
// bundle.putStringArrayList(ActivityImageBrowseUrl.KEY_IMAGE, (ArrayList<String>) images);
// IntentUtil.startActivity(baseContext, ActivityImageBrowseUrl.class, bundle);
}
})
.start();
banner.updateBannerStyle(BannerConfig.CIRCLE_INDICATOR);
}
private TravelFragmentHotMore travelFragmentHotMore;
public void setHotMoreFragment() {
TravelActivity.hotMoreTitleLayoutStatic.setVisibility(View.VISIBLE);
hotMoreLayoutStatic.setVisibility(View.VISIBLE);
if (travelFragmentHotMore == null) {
travelFragmentHotMore = TravelFragmentHotMore.getInstance(TravelFragmentHotType.class.getSimpleName());
}
getChildFragmentManager().beginTransaction().replace(R.id.travel_fragment_hot_more_layout, travelFragmentHotMore).commitAllowingStateLoss();
}
public static void hideHotMoreFragment() {
TravelActivity.hotMoreTitleLayoutStatic.setVisibility(View.GONE);
hotMoreLayoutStatic.setVisibility(View.GONE);
}
}
package com.rv.travel.fragment;
import android.annotation.SuppressLint;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import com.base.animset.util.NiftyEffects;
import com.base.utils.base.BaseFragment;
import com.base.utils.tools.android.IntentUtil;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.frame.rv.widget.BaseTipsLayout;
import com.rv.travel.GoOtherUtil;
import com.rv.travel.R;
import com.rv.travel.R2;
import com.rv.travel.TravelActivity;
import com.rv.travel.adapter.AdapterHot;
import com.rv.travel.adapter.AdapterRim;
import com.rv.travel.api.ApiUtil;
import com.rv.travel.api.OnApiResponseCallback;
import com.rv.travel.bean.BeanBanner;
import com.rv.travel.bean.BeanHot;
import com.rv.travel.bean.BeanRim;
import com.yuyife.banner.Banner;
import com.yuyife.banner.BannerConfig;
import com.yuyife.banner.listener.OnBannerListener;
import com.yuyife.banner.loader.ImageLoader;
import java.util.ArrayList;
import java.util.List;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import butterknife.Unbinder;
//主页面
public class TravelFragmentMain extends BaseFragment {
@BindView(R2.id.travel_banner)
Banner banner;
@BindView(R2.id.travel_hot_recycler)
RecyclerView hotRecycler;
@BindView(R2.id.travel_rim_recycler)
RecyclerView rimRecycler;
@BindView(R2.id.travel_fragment_hot_more_layout)
FrameLayout hotMoreLayout;
@BindView(R2.id.query_layout)
LinearLayout queryLayout;
@BindView(R2.id.travel_hot_tips)
BaseTipsLayout hotTips;
@BindView(R2.id.travel_rim_tips)
BaseTipsLayout rimTips;
@SuppressLint("StaticFieldLeak")
public static FrameLayout hotMoreLayoutStatic;
@OnClick({R2.id.travel_hot_more_image
})
public void onTravelFragmentMainClick(View view) {
int id = view.getId();
if (id == R.id.travel_hot_more_image) {
NiftyEffects.jelly.getAnimator().in(view);
setHotMoreFragment();
}
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_travel_mian, container, false);
unbinder = ButterKnife.bind(this, view);
return view;
}
Unbinder unbinder;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
hotMoreLayoutStatic = hotMoreLayout;
hideHotMoreFragment();
onData();
onView();
}
@Override
public void onData() {
setHot();
query = "";
isQueryMode = false;
setRim();
}
@Override
public void onView() {
setBanner();
ApiUtil.getCompanyData("2", new OnApiResponseCallback<List<BeanBanner>, String>() {
@Override
public void done(List<BeanBanner> data, String errorMessage) {
}
});
}
private AdapterHot adapterHot;
private void setHot() {
hotTips.setVisibility(View.VISIBLE);
List<BeanHot> data = new ArrayList<>();
adapterHot = new AdapterHot(R.layout.item_travel_hot, data);
adapterHot.setOnItemRootClickListener(new AdapterHot.OnItemRootClickListener() {
@Override
public void onItemClick(BeanHot bean) {
TravelActivity.getInstance().setTravelFragmentHotType(bean);
}
});
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(baseContext);
linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
hotRecycler.setLayoutManager(linearLayoutManager);
hotRecycler.setAdapter(adapterHot);
ApiUtil.getHotData("1", "1", "50", new OnApiResponseCallback<List<BeanHot>, String>() {
@Override
public void done(List<BeanHot> data, String errorMessage) {
adapterHot.setNewData(data);
hotTips.setData(data);
}
});
}
private AdapterRim adapterRim;
private void setRim() {
rimTips.setVisibility(View.VISIBLE);
List<BeanRim> data = new ArrayList<>();
adapterRim = new AdapterRim(R.layout.item_travel_rim, data);
adapterRim.setItemRootClickListener(new AdapterRim.OnItemRootClickListener() {
@Override
public void onItemClick(BeanRim bean) {
GoOtherUtil.goTravelDetailWeb(bean,baseContext);
}
});
final LinearLayoutManager linearLayoutManager = new LinearLayoutManager(baseContext);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
rimRecycler.setLayoutManager(linearLayoutManager);
rimRecycler.setAdapter(adapterRim);
ApiUtil.getRimData("", query, "1", "50", new OnApiResponseCallback<List<BeanRim>, String>() {
@Override
public void done(List<BeanRim> data, String errorMessage) {
adapterRim.setNewData(data);
rimTips.setData(data);
}
});
if (isQueryMode) {
queryLayout.setVisibility(View.GONE);
} else {
queryLayout.setVisibility(View.VISIBLE);
}
}
private String query = "";
private boolean isQueryMode = false;
public void getRimData(String queryInput) {
query = queryInput;
isQueryMode = !TextUtil.isEmpty(query);
setRim();
}
private ArrayList<String> images = new ArrayList<>(); //图片(默认采用网络地址)
private List<String> titles = new ArrayList<>(); //图片标题
//private List<Integer> localImages = new ArrayList<>(); //图片(本地资源)
private void setBanner() {
titles.clear();
images.clear();
//localImages.clear();
ApiUtil.getBannerDataMain(new OnApiResponseCallback<List<BeanBanner>, String>() {
@Override
public void done(List<BeanBanner> bannerData, String errorMessage) {
if (bannerData != null && bannerData.size() > 0) {
for (BeanBanner bean : bannerData) {
images.add(bean.getCover());
titles.add("");
}
}
banner.isAutoPlay(true)
.setBannerTitles(titles)
.setImages(images)
.setDelayTime(3000)
.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
// GlideManager.getInstance(context).loadImage(path, imageView);
}
})
.setOnBannerListener(new OnBannerListener() {
@Override
public void OnBannerClick(int position) {
//
}
})
.start();
banner.updateBannerStyle(BannerConfig.CIRCLE_INDICATOR);
}
});
}
private TravelFragmentHotMore travelFragmentHotMore;
private void setHotMoreFragment() {
TravelActivity.hotMoreTitleLayoutStatic.setVisibility(View.VISIBLE);
hotMoreLayoutStatic.setVisibility(View.VISIBLE);
if (travelFragmentHotMore == null) {
travelFragmentHotMore = TravelFragmentHotMore.getInstance(TravelFragmentMain.class.getSimpleName());
}
getChildFragmentManager().beginTransaction().replace(R.id.travel_fragment_hot_more_layout, travelFragmentHotMore).commitAllowingStateLoss();
}
@Override
public void onDestroyView() {
super.onDestroyView();
hotMoreLayoutStatic = null;
}
public static void hideHotMoreFragment() {
TravelActivity.hotMoreTitleLayoutStatic.setVisibility(View.GONE);
hotMoreLayoutStatic.setVisibility(View.GONE);
}
}
package com.rv.travel.fragment;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import com.base.utils.base.BaseFragment;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.frame.base.FrameApp;
import com.frame.rv.OnModuleEventListener;
import com.just.agentweb.AgentWeb;
import com.rv.travel.R;
import com.rv.travel.R2;
import com.rv.travel.TravelActivity;
import com.yuyife.okgo.OkGoUtil;
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;
//旅游详情
public class TravelWebFragment extends BaseFragment {
public static TravelWebFragment getInstance(String url) {
TravelWebFragment instance = new TravelWebFragment();
instance.URL_ADDRESS = url;
return instance;
}
private String URL_ADDRESS = "";
@BindView(R2.id.travel_web_fragment_root)
FrameLayout rootLayout;
LinearLayout buttonLayout;
public void showButtonLayout() {
FrameApp.getMainHandler().post(new Runnable() {
@Override
public void run() {
buttonLayout.setVisibility(View.VISIBLE);
}
});
}
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_web, container, false);
buttonLayout = view.findViewById(R.id.travel_web_button_layout);
unbinder = ButterKnife.bind(this, view);
view.findViewById(R.id.travel_web_service_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//showToastShort("联系客服");
}
});
view.findViewById(R.id.travel_web_subscribe_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (TextUtil.isEmpty(OkGoUtil.getToken())) {
showToastShort("请先登录");
TravelActivity.isNeedLogin = true;
// if (ModuleEventUtil.getOnModuleEventListener() != null) {
// ModuleEventUtil.getOnModuleEventListener().onLogin(OnModuleEventListener.MODULE_LOGIN_START);
// }
return;
}
buttonLayout.setVisibility(View.GONE);
mAgentWeb.getJsAccessEntrace().quickCallJs("openModal");
}
});
return view;
}
Unbinder unbinder;
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
onData();
onView();
}
@Override
public void onData() {
}
@Override
public void onView() {
goWeb();
}
@Override
public void onDestroyView() {
super.onDestroyView();
}
AgentWeb mAgentWeb;
private void goWeb() {
mAgentWeb = AgentWeb.with(this)
.setAgentWebParent(rootLayout, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
.useDefaultIndicator()
.createAgentWeb()
.ready()
.go(URL_ADDRESS);
mAgentWeb.getJsInterfaceHolder().addJavaObject("android", new AndroidInterface(this));
}
}
package com.rv.travel.other;
import android.widget.ImageView;
import java.io.Serializable;
public abstract class OtherClickListener implements Serializable {
public abstract void onBack();
public abstract void onButton();
public abstract void onButtonCollect(ImageView buttonCollect);
public abstract void onButtonShare();
}
package com.rv.travel.other;
import com.frame.rv.widget.BaseTitleBarLayout;
import java.io.Serializable;
public class OtherOption implements Serializable {
private String title;
private String buttonText;
private OtherClickListener clickListener;
private boolean isCollect;
private boolean isShare;
private BaseTitleBarLayout layout;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getButtonText() {
return buttonText;
}
public void setButtonText(String buttonText) {
this.buttonText = buttonText;
}
public OtherClickListener getClickListener() {
return clickListener;
}
public void setClickListener(OtherClickListener clickListener) {
this.clickListener = clickListener;
}
public boolean isCollect() {
return isCollect;
}
public void setCollect(boolean collect) {
isCollect = collect;
}
public boolean isShare() {
return isShare;
}
public void setShare(boolean share) {
isShare = share;
}
public BaseTitleBarLayout getLayout() {
return layout;
}
public void setLayout(BaseTitleBarLayout layout) {
this.layout = layout;
}
}
package com.rv.travel.other;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.View;
import com.base.utils.base.BaseActivity;
import com.base.utils.ui.datetime.selector.util.TextUtil;
import com.frame.rv.widget.BaseTitleBarLayout;
import com.rv.travel.R;
import com.rv.travel.R2;
import butterknife.BindView;
import butterknife.ButterKnife;
//所有的子页面的依附的Activity
public class TravelFragmentActivity extends BaseActivity {
public static OtherOption option = null;
public static Fragment currentFragment = null;
@SuppressLint("StaticFieldLeak")
public static TravelFragmentActivity instance = null;
public static TravelFragmentActivity getInstance() {
return TravelFragmentActivity.instance;
}
@BindView(R2.id.other_title_bar_layout)
BaseTitleBarLayout titleBarLayout;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fragment_other);
ButterKnife.bind(this);
TravelFragmentActivity.instance = this;
onData();
onView();
}
@Override
public void onData() {
applyOption();
}
@Override
public void onView() {
setCurrentFragment();
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
applyOption();
setCurrentFragment();
}
//加载碎片
private void setCurrentFragment() {
if (TravelFragmentActivity.currentFragment != null) {
getSupportFragmentManager().beginTransaction().replace(R.id.other_fragment_layout, TravelFragmentActivity.currentFragment).commitAllowingStateLoss();
}
}
//设置参数
private void applyOption() {
if (TravelFragmentActivity.option == null)
return;
titleBarLayout.setTitleText(TravelFragmentActivity.option.getTitle());
if (TravelFragmentActivity.option.getClickListener() == null) {
titleBarLayout.setBackClickListener(null);
} else {
titleBarLayout.setBackClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TravelFragmentActivity.option.getClickListener().onBack();
}
});
if (!TextUtil.isEmpty(TravelFragmentActivity.option.getButtonText())) {
titleBarLayout.setButtonView(option.getButtonText(), new View.OnClickListener() {
@Override
public void onClick(View v) {
TravelFragmentActivity.option.getClickListener().onButton();
}
});
}
if (TravelFragmentActivity.option.isCollect()){
TravelFragmentActivity.option.setLayout(titleBarLayout);
titleBarLayout.setButtonCollect(new View.OnClickListener() {
@Override
public void onClick(View v) {
TravelFragmentActivity.option.getClickListener().onButtonCollect(titleBarLayout.buttonCollect);
}
});
}
if (TravelFragmentActivity.option.isShare()){
titleBarLayout.setButtonShare(new View.OnClickListener() {
@Override
public void onClick(View v) {
TravelFragmentActivity.option.getClickListener().onButtonShare();
}
});
}
}
}
@Override
protected void onDestroy() {
super.onDestroy();
TravelFragmentActivity.currentFragment = null;
TravelFragmentActivity.instance = null;
TravelFragmentActivity.option = null;
}
}
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillType="evenOdd"
android:pathData="M32,64C32,64 38.39,52.99 44.13,50.95C51.37,48.37 70.14,49.57 70.14,49.57L108.26,87.69L108,109.01L75.97,107.97L32,64Z"
android:strokeWidth="1"
android:strokeColor="#00000000">
<aapt:attr name="android:fillColor">
<gradient
android:endX="78.5885"
android:endY="90.9159"
android:startX="48.7653"
android:startY="61.0927"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#008577"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.frame.rv.widget.BaseTitleBarLayout
android:id="@+id/other_title_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/other_fragment_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
<?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="match_parent"
android:background="@color/colorBottom"
android:gravity="center"
android:orientation="vertical"
tools:context=".TravelActivity">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h5">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorTop"
android:gravity="center"
android:orientation="horizontal">
<LinearLayout
android:id="@+id/travel_city_layout"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/ui_dimen_common"
android:clickable="true"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/travel_city_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/ui_dimen_common_small"
android:text="东莞市"
android:textColor="@color/colorTextH1"
android:textSize="@dimen/_ui_text_size_h6" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/rv_common_icon_up_arrow" />
</LinearLayout>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="@dimen/ui_dimen_common"
android:layout_weight="1"
android:background="@drawable/ui_selector_radius_common_dark"
android:gravity="center"
android:orientation="horizontal">
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginLeft="@dimen/ui_dimen_margin_h1"
android:layout_marginRight="@dimen/ui_dimen_common_small" />
<EditText
android:id="@+id/search_input"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:background="@null"
android:hint="搜索目的地/旅游线路"
android:paddingLeft="@dimen/ui_dimen_common"
android:paddingRight="@dimen/ui_dimen_padding_h1"
android:textColor="@color/colorTextH1"
android:textColorHint="@color/colorTextH3"
android:textSize="@dimen/_ui_text_size_h7" />
<TextView
android:id="@+id/search_commit"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/ui_dimen_common_large"
android:background="@drawable/ui_selector_radius_common_primary_h1"
android:paddingLeft="@dimen/ui_dimen_common"
android:paddingTop="@dimen/ui_dimen_common_small"
android:paddingRight="@dimen/ui_dimen_common"
android:paddingBottom="@dimen/ui_dimen_common_small"
android:text="确定"
android:textColor="@color/colorTop"
android:textSize="@dimen/_ui_text_size_h6"
android:visibility="gone" />
</LinearLayout>
<ImageView
android:id="@+id/travel_server_image"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:paddingRight="@dimen/ui_dimen_common"
android:scaleType="centerInside"
android:src="@drawable/rv_rentingcar_icon_service_dark" />
</LinearLayout>
<FrameLayout
android:id="@+id/travel_hot_type_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorTop"
android:visibility="gone">
<ImageView
android:id="@+id/travel_hot_type_back"
android:layout_width="50dp"
android:layout_height="match_parent"
android:clickable="true"
android:padding="@dimen/ui_dimen_padding_h2"
android:scaleType="centerInside"
android:src="@drawable/rv_common_icon_back_dark" />
<LinearLayout
android:id="@+id/travel_hot_type_select"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="center"
android:clickable="true"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/travel_type_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/ui_dimen_margin_h2"
android:layout_marginRight="@dimen/ui_dimen_common"
android:text="新疆游"
android:textColor="@color/colorTextH1"
android:textSize="@dimen/_ui_text_size_h4"
android:textStyle="bold" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/rv_common_icon_up_arrow" />
</LinearLayout>
</FrameLayout>
<LinearLayout
android:id="@+id/travel_hot_more_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorHotMore"
android:gravity="center"
android:orientation="horizontal"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择旅游类型"
android:textColor="@color/colorTop"
android:textSize="@dimen/_ui_text_size_h3" />
</LinearLayout>
</FrameLayout>
<FrameLayout
android:id="@+id/travel_fragment_layout"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
<com.frame.rv.widget.BaseTabLayout
android:id="@+id/travel_tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorTop"
android:orientation="vertical"
android:paddingTop="@dimen/ui_dimen_common_large">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h4"
android:paddingLeft="@dimen/ui_dimen_common_large"
android:paddingRight="@dimen/ui_dimen_common_large">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="费用明细"
android:textColor="@color/colorTextH1"
android:textSize="@dimen/ui_text_size_h5" />
<ImageView
android:id="@+id/money_detail_close"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:scaleType="centerInside"
android:paddingLeft="@dimen/ui_dimen_padding_h2"
android:paddingTop="@dimen/ui_dimen_padding_h2"
android:paddingBottom="@dimen/ui_dimen_padding_h2"
android:src="@mipmap/rv_common_icon_close" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h5"
android:gravity="center|start"
android:orientation="horizontal"
android:paddingLeft="@dimen/ui_dimen_padding_h1"
android:paddingRight="@dimen/ui_dimen_padding_h1">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center|start"
android:text="成人价格:"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/ui_dimen_margin_h1"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/commit_order_money_detail_adult_des_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:lines="1"
android:text="¥5000/天x2人"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
<TextView
android:id="@+id/commit_order_money_detail_adult_total_money_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:lines="1"
android:text="¥10000"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h5"
android:gravity="center|start"
android:orientation="horizontal"
android:paddingLeft="@dimen/ui_dimen_padding_h1"
android:paddingRight="@dimen/ui_dimen_padding_h1">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center|start"
android:text="儿童价格:"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/ui_dimen_margin_h1"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:id="@+id/commit_order_money_detail_child_des_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:lines="1"
android:text="¥5000/天x2人"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
<TextView
android:id="@+id/commit_order_money_detail_child_total_money_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:lines="1"
android:text="¥10000"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h5"
android:gravity="center|start"
android:visibility="invisible"
android:orientation="horizontal"
android:paddingLeft="@dimen/ui_dimen_padding_h1"
android:paddingRight="@dimen/ui_dimen_padding_h1">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center|start"
android:text="保险费用:"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/ui_dimen_margin_h1"
android:gravity="center"
android:orientation="horizontal">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:lines="1"
android:text="¥100/天x3人6天"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:lines="1"
android:text="¥1800"
android:textColor="@color/colorTextH2"
android:textSize="@dimen/_ui_text_size_h6" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h3"
android:background="@color/colorTop"
android:gravity="center|start"
android:orientation="horizontal"
android:paddingLeft="@dimen/ui_dimen_padding_h1">
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center|start"
android:text="支付金额:"
android:textColor="@color/colorTextH1"
android:textSize="@dimen/_ui_text_size_h5" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="@dimen/ui_dimen_margin_h1"
android:gravity="center|start"
android:orientation="horizontal"
android:weightSum="2">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:text="¥"
android:textColor="@color/uiColorLittle"
android:textSize="@dimen/_ui_text_size_h3" />
<TextView
android:id="@+id/commit_order_money_detail_money_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:lines="1"
android:text="0.00"
android:textColor="@color/uiColorLittle"
android:textSize="@dimen/_ui_text_size_h3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/ui_dimen_margin_h1"
android:layout_marginRight="@dimen/ui_dimen_margin_h1"
android:lines="1"
android:text="明细"
android:textColor="@color/colorTextH1"
android:textSize="@dimen/_ui_text_size_h5"
android:visibility="invisible" />
<TextView
android:id="@+id/commit_order_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/ui_dimen_common"
android:background="@drawable/ui_shape_radius_common_primary_h1"
android:clickable="true"
android:gravity="center"
android:lines="1"
android:text="确认订单"
android:textColor="@color/colorTop"
android:textSize="@dimen/_ui_text_size_h3" />
</LinearLayout>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorTop"
android:orientation="vertical"
android:paddingTop="@dimen/ui_dimen_common_large">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h4"
android:paddingLeft="@dimen/ui_dimen_common_large"
android:paddingRight="@dimen/ui_dimen_common_large">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="请选择支付方式"
android:textColor="@color/colorTextH1"
android:textSize="@dimen/_ui_text_size_h4" />
<ImageView
android:id="@+id/select_pay_close"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:paddingLeft="@dimen/ui_dimen_padding_h2"
android:paddingTop="@dimen/ui_dimen_padding_h2"
android:paddingBottom="@dimen/ui_dimen_padding_h2"
android:scaleType="centerInside"
android:src="@mipmap/rv_common_icon_close" />
</RelativeLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/ui_dimen_line"
android:background="@color/uiBackgroundLine" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h4"
android:gravity="center"
android:orientation="horizontal"
android:paddingLeft="@dimen/ui_dimen_common_large"
android:paddingRight="@dimen/ui_dimen_common_large">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="实付金额:"
android:textColor="@color/colorTextH3"
android:textSize="@dimen/ui_text_size_h5" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="¥"
android:textColor="@color/uiColorLittle"
android:textSize="@dimen/ui_text_size_h3" />
<TextView
android:id="@+id/select_pay_price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/ui_dimen_margin_h1"
android:text="0.00"
android:textColor="@color/uiColorLittle"
android:textSize="@dimen/ui_text_size_h5" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h4"
android:gravity="center|start"
android:orientation="horizontal"
android:paddingLeft="@dimen/ui_dimen_common_large"
android:paddingRight="@dimen/ui_dimen_common_large">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/ui_dimen_common_large"
android:src="@mipmap/client_icon_wechat_pay" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="微信支付"
android:textColor="@color/colorTextH1"
android:textSize="@dimen/_ui_text_size_h5" />
<ImageView
android:id="@+id/select_pay_wx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/ui_dimen_common_large"
android:src="@mipmap/common_icon_pay_round" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/ui_dimen_line"
android:background="@color/uiBackgroundLine" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h4"
android:gravity="center|start"
android:orientation="horizontal"
android:paddingLeft="@dimen/ui_dimen_common_large"
android:paddingRight="@dimen/ui_dimen_common_large">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/ui_dimen_common_large"
android:src="@mipmap/client_icon_alipay" />
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="支付宝支付"
android:textColor="@color/colorTextH1"
android:textSize="@dimen/_ui_text_size_h5" />
<ImageView
android:id="@+id/select_pay_zfb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="@dimen/ui_dimen_common_large"
android:src="@mipmap/common_icon_round" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="@dimen/ui_dimen_line"
android:layout_marginBottom="@dimen/ui_dimen_margin_h8"
android:background="@color/uiBackgroundLine" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/_ui_height_h4"
android:layout_marginBottom="@dimen/ui_dimen_margin_h2"
android:background="@color/colorTop"
android:gravity="center"
android:orientation="horizontal"
android:paddingLeft="@dimen/ui_dimen_common_large"
android:paddingRight="@dimen/ui_dimen_common_large">
<TextView
android:id="@+id/inquiry_doctor_pay_submit"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/ui_dimen_common"
android:layout_marginBottom="@dimen/ui_dimen_common"
android:layout_weight="1"
android:background="@drawable/ui_shape_radius_common_primary_h1"
android:clickable="true"
android:gravity="center"
android:text="立即支付"
android:textColor="@color/colorTop"
android:textSize="@dimen/ui_text_size_h5" />
</LinearLayout>
</LinearLayout>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
<?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">
<ImageView
android:id="@+id/item_hot_bg_img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:src="@mipmap/banner_test4" />
<TextView
android:id="@+id/item_hot_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/colorHotMore"
android:gravity="center"
android:paddingBottom="@dimen/ui_dimen_common"
android:paddingTop="@dimen/ui_dimen_common"
android:text="新疆游"
android:textColor="@color/colorTop"
android:textSize="@dimen/_ui_text_size_h6" />
</RelativeLayout>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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