Commit 875973da by 罗翻

将mvp替换成mvvm

parent fa3b60dd
Showing with 925 additions and 723 deletions
...@@ -25,6 +25,7 @@ android { ...@@ -25,6 +25,7 @@ android {
versionName "1.0.0" versionName "1.0.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true multiDexEnabled true
vectorDrawables.useSupportLibrary = true
} }
compileOptions { compileOptions {
......
...@@ -3,41 +3,40 @@ ...@@ -3,41 +3,40 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
package="com.dayu.bigfish"> package="com.dayu.bigfish">
//网络权限 //网络权限
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET" />
//检测联网方式,区分用户设备使用的是2G、3G或是WiFi //检测联网方式,区分用户设备使用的是2G、3G或是WiFi
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
//获取用户设备的mac地址,在平板设备上,无法通过imei标示设备,我们会将mac地址作为用户的唯一标识 //获取用户设备的mac地址,在平板设备上,无法通过imei标示设备,我们会将mac地址作为用户的唯一标识
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
//获取用户设备的IMEI,通过IMEI和mac来唯一的标识用户 //获取用户设备的IMEI,通过IMEI和mac来唯一的标识用户
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CAMERA"/> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.GET_TASKS"/> <uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.WAKE_LOCK"/> <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.access_network_state"/> <uses-permission android:name="android.permission.access_network_state" />
<!--读取日志--> <!-- 读取日志 -->
<uses-permission android:name="android.permission.READ_LOGS"/> <uses-permission android:name="android.permission.READ_LOGS" />
<!--用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<!--用于访问GPS定位-->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<!--用于获取wifi的获取权限,wifi信息会用来进行网络定位-->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<!--用于写入缓存数据到扩展存储卡-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<!--用于申请调用A-GPS模块-->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"></uses-permission>
<!--用于申请获取蓝牙信息进行室内定位-->
<uses-permission android:name="android.permission.BLUETOOTH"></uses-permission>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"></uses-permission>
<!-- 用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 用于访问GPS定位 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 用于写入缓存数据到扩展存储卡 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 用于申请调用A-GPS模块 -->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!-- 用于申请获取蓝牙信息进行室内定位 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<application <application
android:name=".MyApplication" android:name=".MyApplication"
...@@ -46,8 +45,7 @@ ...@@ -46,8 +45,7 @@
android:label="@string/tv_dayu" android:label="@string/tv_dayu"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme" android:theme="@style/AppTheme"
tools:replace="android:label,icon,theme" tools:replace="android:label,icon,theme">
>
<provider <provider
android:name="android.support.v4.content.FileProvider" android:name="android.support.v4.content.FileProvider"
android:authorities="com.dayu.bigfish.fileProvider" android:authorities="com.dayu.bigfish.fileProvider"
...@@ -55,148 +53,143 @@ ...@@ -55,148 +53,143 @@
android:grantUriPermissions="true"> android:grantUriPermissions="true">
<meta-data <meta-data
android:name="android.support.FILE_PROVIDER_PATHS" android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"/> android:resource="@xml/file_paths" />
</provider> </provider>
<!--<provider--> <!-- <provider -->
<!--android:name="android.support.v4.content.FileProvider"--> <!-- android:name="android.support.v4.content.FileProvider" -->
<!--android:authorities="${applicationId}.provider"--> <!-- android:authorities="${applicationId}.provider" -->
<!--android:exported="false"--> <!-- android:exported="false" -->
<!--android:grantUriPermissions="true">--> <!-- android:grantUriPermissions="true"> -->
<!--<meta-data--> <!-- <meta-data -->
<!--android:name="android.support.FILE_PROVIDER_PATHS"--> <!-- android:name="android.support.FILE_PROVIDER_PATHS" -->
<!--android:resource="@xml/file_paths"/>--> <!-- android:resource="@xml/file_paths"/> -->
<!--</provider>--> <!-- </provider> -->
<activity <activity
android:name=".SplashActivity" android:name=".SplashActivity"
android:theme="@style/SplashTheme" android:screenOrientation="portrait"
> android:theme="@style/SplashTheme">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<!--友盟统计--> <!-- 友盟统计 -->
<meta-data <meta-data
android:name="UMENG_APPKEY" android:name="UMENG_APPKEY"
android:value="599a41697f2c743210000990"/> android:value="599a41697f2c743210000990" />
<meta-data <meta-data
android:name="UMENG_CHANNEL" android:name="UMENG_CHANNEL"
android:value="Channel ID"/> android:value="Channel ID" />
<!--高德地图--> <!-- 高德地图 -->
<meta-data <meta-data
android:name="com.amap.api.v2.apikey" android:name="com.amap.api.v2.apikey"
android:value="05936ed54259770e56ffd1e67ac77958"/> android:value="05936ed54259770e56ffd1e67ac77958" />
<service android:name="com.amap.api.location.APSService"></service>
<service android:name="com.amap.api.location.APSService" />
<!-- 设置环信应用的AppKey --> <!-- 设置环信应用的AppKey -->
<meta-data <meta-data
android:name="EASEMOB_APPKEY" android:name="EASEMOB_APPKEY"
android:value="1116170816115316#dayuai"/> android:value="1116170816115316#dayuai" />
<!-- 声明SDK所需的service SDK核心功能--> <!-- 声明SDK所需的service SDK核心功能 -->
<service <service
android:name="com.hyphenate.chat.EMChatService" android:name="com.hyphenate.chat.EMChatService"
android:exported="true"/> android:exported="true" />
<service <service
android:name="com.hyphenate.chat.EMJobService" android:name="com.hyphenate.chat.EMJobService"
android:exported="true" android:exported="true"
android:permission="android.permission.BIND_JOB_SERVICE"/> android:permission="android.permission.BIND_JOB_SERVICE" />
<!-- 声明SDK所需的receiver --> <!-- 声明SDK所需的receiver -->
<receiver android:name="com.hyphenate.chat.EMMonitorReceiver"> <receiver android:name="com.hyphenate.chat.EMMonitorReceiver">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.PACKAGE_REMOVED"/> <action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package"/>
<data android:scheme="package" />
</intent-filter> </intent-filter>
<intent-filter> <intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/> <action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT"/> <action android:name="android.intent.action.USER_PRESENT" />
</intent-filter> </intent-filter>
</receiver> </receiver>
<activity <activity
android:name=".InitializeActivity" android:name=".InitializeActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.LoginActivity" android:name=".ui.LoginActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.ReceivingActivity" android:name=".ui.ReceivingActivity"
android:theme="@style/Transparent" android:theme="@style/Transparent" />
/>
<activity <activity
android:name=".ui.OrderRecordActivity" android:name=".ui.OrderRecordActivity"
android:theme="@style/Transparent" android:theme="@style/Transparent" />
/>
<activity <activity
android:name=".ui.SettingActivity" android:name=".ui.SettingActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.SubcribeTimeActivity" android:name=".ui.SubcribeTimeActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.OrderDetailsActivity" android:name=".ui.OrderDetailsActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.ProcessOrderActivity" android:name=".ui.ProcessOrderActivity"
android:launchMode="singleTask" android:launchMode="singleTask"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.PreviewActivty" android:name=".ui.PreviewActivty"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.AboutUsActivity" android:name=".ui.AboutUsActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.FeedBackActivity" android:name=".ui.FeedBackActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.AccountBalanceActivity" android:name=".ui.AccountBalanceActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.WithdrawalsActivity" android:name=".ui.WithdrawalsActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.AgreementActivity" android:name=".ui.AgreementActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.MainActivity" android:name=".ui.MainActivity"
android:launchMode="singleTask" android:launchMode="singleTask"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.MessageDetailActivity" android:name=".ui.MessageDetailActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/>
<activity <activity
android:name=".ui.SopWebViewActivity" android:name=".ui.SopWebViewActivity"
android:screenOrientation="portrait" android:screenOrientation="portrait" />
/> <activity
android:name=".ui.PersonInfoActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.ModifyPersonInfoActivity"
android:screenOrientation="portrait" />
<activity
android:name=".ui.MyHeaderIvActivity"
android:screenOrientation="portrait" />
<service android:name=".api.DownloadService"/> <service android:name=".api.DownloadService" />
<receiver android:name=".utils.NetworkConnectChangedReceiver"> <receiver android:name=".utils.NetworkConnectChangedReceiver">
<intent-filter> <intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
<action android:name="android.net.wifi.WIFI_STATE_CHANGED"/> <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
<action android:name="android.net.wifi.STATE_CHANGE"/> <action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter> </intent-filter>
</receiver> </receiver>
</application> </application>
</manifest> </manifest>
\ No newline at end of file
...@@ -154,6 +154,8 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> { ...@@ -154,6 +154,8 @@ public class CoreAdapter<M, B> extends RecyclerView.Adapter<BaseViewHolder> {
isHasMore = true; isHasMore = true;
} }
this.mItemList = data.getData(); this.mItemList = data.getData();
// DiffUtil.DiffResult diffResult = DiffUtil.calculateDiff(new DiffCallBack(mOldDatas, mItemList), true);
// diffResult.dispatchUpdatesTo(this);
notifyDataSetChanged(); notifyDataSetChanged();
} }
......
...@@ -63,5 +63,10 @@ public interface HomeFourContract { ...@@ -63,5 +63,10 @@ public interface HomeFourContract {
* 跳转到工单记录. * 跳转到工单记录.
*/ */
public abstract void dumpToOrderRecord(); public abstract void dumpToOrderRecord();
/**
* 跳转到个人资料.
*/
public abstract void dumpToPersonalInfo();
} }
} }
...@@ -7,6 +7,7 @@ import com.dayu.bigfish.bean.EngineerInfo; ...@@ -7,6 +7,7 @@ import com.dayu.bigfish.bean.EngineerInfo;
import com.dayu.bigfish.bean.OrderRecord; import com.dayu.bigfish.bean.OrderRecord;
import com.dayu.bigfish.bean.TodayAchievement; import com.dayu.bigfish.bean.TodayAchievement;
import com.dayu.bigfish.bean.TodayBalance; import com.dayu.bigfish.bean.TodayBalance;
import com.dayu.bigfish.ui.PersonInfoActivity;
import io.reactivex.Observable; import io.reactivex.Observable;
import io.reactivex.functions.Consumer; import io.reactivex.functions.Consumer;
...@@ -66,4 +67,9 @@ public class HomePersonPresenter extends HomeFourContract.Presenter { ...@@ -66,4 +67,9 @@ public class HomePersonPresenter extends HomeFourContract.Presenter {
mView.dumpToOrderRecord(); mView.dumpToOrderRecord();
} }
@Override
public void dumpToPersonalInfo() {
startActivity(PersonInfoActivity.class);
}
} }
package com.dayu.bigfish.presenter.main; package com.dayu.bigfish.presenter.main;
import android.app.Dialog;
import android.content.Intent; import android.content.Intent;
import android.databinding.ObservableField;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.os.Environment; import android.os.Environment;
...@@ -18,7 +18,6 @@ import com.dayu.bigfish.bean.Order; ...@@ -18,7 +18,6 @@ import com.dayu.bigfish.bean.Order;
import com.dayu.bigfish.bean.UserInfo; import com.dayu.bigfish.bean.UserInfo;
import com.dayu.bigfish.bean.VersionInfo; import com.dayu.bigfish.bean.VersionInfo;
import com.dayu.bigfish.ui.listener.onDownloadListener; import com.dayu.bigfish.ui.listener.onDownloadListener;
import com.dayu.bigfish.ui.views.CustomDialog;
import com.dayu.bigfish.utils.AppUtils; import com.dayu.bigfish.utils.AppUtils;
import com.dayu.bigfish.utils.SPUtils; import com.dayu.bigfish.utils.SPUtils;
import com.dayu.bigfish.utils.managers.UserManager; import com.dayu.bigfish.utils.managers.UserManager;
...@@ -37,7 +36,10 @@ import okhttp3.RequestBody; ...@@ -37,7 +36,10 @@ import okhttp3.RequestBody;
*/ */
@InstanceFactory @InstanceFactory
public class MainPresenter extends MainContract.Presenter { public class MainPresenter extends MainContract.Presenter {
/**
* 待接单数目.
*/
public ObservableField<String> tabRecive = new ObservableField("0");
private UserInfo mUser; private UserInfo mUser;
private int mAccountId; private int mAccountId;
private int mSiteId; private int mSiteId;
...@@ -108,7 +110,7 @@ public class MainPresenter extends MainContract.Presenter { ...@@ -108,7 +110,7 @@ public class MainPresenter extends MainContract.Presenter {
ApiFactory.getOrders(state, userId, siteId, pagerId, pagerSize).subscribe(baseObserver(new Consumer<BasePageBean<Order>>() { ApiFactory.getOrders(state, userId, siteId, pagerId, pagerSize).subscribe(baseObserver(new Consumer<BasePageBean<Order>>() {
@Override @Override
public void accept(BasePageBean<Order> orders) throws Exception { public void accept(BasePageBean<Order> orders) throws Exception {
mView.mBind.tabOrderNum.setText(orders.getTotalRows() + ""); tabRecive.set(orders.getTotalRows() + "");
} }
})); }));
} }
...@@ -126,12 +128,10 @@ public class MainPresenter extends MainContract.Presenter { ...@@ -126,12 +128,10 @@ public class MainPresenter extends MainContract.Presenter {
} }
private void showUpdateDialog(VersionInfo info) { private void showUpdateDialog(VersionInfo info) {
mView.showUpdateDialog(info.getUpgradePrompt(), new CustomDialog.OnCloseListener() { mView.showUpdateDialog(info.getUpgradePrompt(), (dialog, confirm) -> {
@Override
public void onClick(Dialog dialog, boolean confirm) {
if (confirm) { if (confirm) {
File sdDir = Environment.getExternalStorageDirectory(); File sdDir = Environment.getExternalStorageDirectory();
File file = new File(sdDir, "dayu" + ".apk"); File file = new File(sdDir + "/dayu/", "dayu" + ".apk");
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
mView.showToast(R.string.on_download); mView.showToast(R.string.on_download);
mView.initNotification(); mView.initNotification();
...@@ -165,7 +165,6 @@ public class MainPresenter extends MainContract.Presenter { ...@@ -165,7 +165,6 @@ public class MainPresenter extends MainContract.Presenter {
} }
} }
dialog.dismiss(); dialog.dismiss();
}
}); });
} }
......
package com.dayu.bigfish.presenter.personinfo;
import com.dayu.bigfish.base.BasePresenter;
import com.dayu.bigfish.base.BaseView;
/**
* Created by luo on 2016/8/4.
*/
public interface PersonInfoContract {
interface View extends BaseView {
}
abstract class Presenter extends BasePresenter<View> {
public abstract void dumpToHeader();
public abstract void dumpToModifyPerson();
}
}
package com.dayu.bigfish.presenter.personinfo;
import com.app.annotation.apt.InstanceFactory;
import com.dayu.bigfish.ui.ModifyPersonInfoActivity;
import com.dayu.bigfish.ui.MyHeaderIvActivity;
/**
* Created by luofan on 2017/11/14.
*/
@InstanceFactory
public class PersonInfoPresenter extends PersonInfoContract.Presenter {
@Override
public void onAttached() {
}
@Override
public void dumpToHeader() {
startActivity(MyHeaderIvActivity.class);
}
@Override
public void dumpToModifyPerson() {
startActivity(ModifyPersonInfoActivity.class);
}
}
...@@ -47,6 +47,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin ...@@ -47,6 +47,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
private HomeOrderFragment secondFragment; private HomeOrderFragment secondFragment;
private HomeMessageTabFragment thirdFragment; private HomeMessageTabFragment thirdFragment;
private HomePersonFragment fourFragment; private HomePersonFragment fourFragment;
private int mFirstPositon = 1;
@Override @Override
public int getLayoutId() { public int getLayoutId() {
...@@ -89,9 +90,9 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin ...@@ -89,9 +90,9 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
transaction.add(R.id.fl_container, fragment); transaction.add(R.id.fl_container, fragment);
transaction.hide(fragment); transaction.hide(fragment);
} }
transaction.show(mFragments[1]); transaction.show(mFragments[mFirstPositon]);
transaction.commit(); transaction.commit();
resetSelected(1); resetSelected(mFirstPositon);
} }
/** /**
...@@ -112,6 +113,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin ...@@ -112,6 +113,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
/** /**
* 重置按钮状态. * 重置按钮状态.
*
* @param position * @param position
*/ */
public void resetSelected(int position) { public void resetSelected(int position) {
...@@ -119,7 +121,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin ...@@ -119,7 +121,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
mTabs[i].setSelected(false); mTabs[i].setSelected(false);
} }
mTabs[position].setSelected(true); mTabs[position].setSelected(true);
mPosition =position; mPosition = position;
} }
...@@ -166,6 +168,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin ...@@ -166,6 +168,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
/** /**
* 处理intent传来的信息. * 处理intent传来的信息.
*
* @param intent * @param intent
*/ */
private void doAction(Intent intent) { private void doAction(Intent intent) {
...@@ -221,7 +224,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin ...@@ -221,7 +224,7 @@ public class MainActivity extends BaseActivity<MainPresenter, ActivityMainBindin
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
public void recevieNum(RefreshReceivingNum event) { public void recevieNum(RefreshReceivingNum event) {
mBind.tabOrderNum.setText(event.getTabNum() + ""); mPresenter.tabRecive.set(event.getTabNum()+"");
} }
@Subscribe(threadMode = ThreadMode.MAIN) @Subscribe(threadMode = ThreadMode.MAIN)
......
package com.dayu.bigfish.ui;
import android.content.Intent;
import android.os.Environment;
import android.view.View;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.bigfish.databinding.ActivityModifyPersonActivityBinding;
import com.dayu.bigfish.utils.GlideImageLoader;
import com.dayu.bigfish.utils.ToastUtils;
import com.luck.picture.lib.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* Created by luofan on 2017/12/25.
*/
public class ModifyPersonInfoActivity extends DataBindingActivity<ActivityModifyPersonActivityBinding> {
private List<LocalMedia> mSelectList;
@Override
public int getLayoutId() {
return R.layout.activity_modify_person_activity;
}
@Override
public void initView() {
mSelectList = new ArrayList<>();
mBind.ivAdd.setOnClickListener(v -> showPicDialog());
mBind.titleBack.setOnClickListener(v -> finish());
mBind.ivDelete.setOnClickListener(v -> {
mBind.rlHeader.setVisibility(View.GONE);
mBind.tvPicNum.setText(getString(R.string.commite_pic_zero));
mSelectList.clear();
});
}
public void showPicDialog() {
if (mSelectList.size() == 1) {
ToastUtils.showShortToast(R.string.one_pic_most);
return;
}
PictureSelectionModel selector = PictureSelector.create(mActivity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(1)// 最大图片选择数量 int
.imageSpanCount(4)// 每行显示个数 int
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.previewImage(true)// 是否可预览图片 true or false
.isCamera(true)// 是否显示拍照按钮 true or false
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
.compress(true)// 是否压缩 true or false
.glideOverride(300, 300)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
.compressSavePath(getPath())//压缩图片保存地址
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(100)// 小于100kb的图片不压缩
.synOrAsy(true)//同步true或异步false 压缩 默认同步、
.enableCrop(true)//是否裁剪
.withAspectRatio(1, 1)
.freeStyleCropEnabled(true);
selector.forResult(PictureConfig.CHOOSE_REQUEST);
}
private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
}
return path;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
mSelectList = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) {
for (int a = 0; a < mSelectList.size(); a++) {
GlideImageLoader.load(mActivity, mSelectList.get(a).getCompressPath(), mBind.ivHeader);
mBind.rlHeader.setVisibility(View.VISIBLE);
mBind.tvPicNum.setText(getString(R.string.commite_pic_one));
}
}
break;
}
}
}
}
package com.dayu.bigfish.ui;
import android.content.Intent;
import android.os.Environment;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.DataBindingActivity;
import com.dayu.bigfish.databinding.MyHeaderActivityBinding;
import com.dayu.bigfish.utils.GlideImageLoader;
import com.luck.picture.lib.PictureSelectionModel;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* Created by luofan on 2017/12/25.
*/
public class MyHeaderIvActivity extends DataBindingActivity<MyHeaderActivityBinding> {
private List<LocalMedia> mSelectList;
@Override
public int getLayoutId() {
return R.layout.my_header_activity;
}
@Override
public void initView() {
mSelectList = new ArrayList<>();
mBind.tvRightTitle.setOnClickListener(v -> showPicDialog());
mBind.titleBack.setOnClickListener(v -> finish());
}
public void showPicDialog() {
PictureSelectionModel selector = PictureSelector.create(mActivity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(1)// 最大图片选择数量 int
.imageSpanCount(4)// 每行显示个数 int
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
.previewImage(true)// 是否可预览图片 true or false
.isCamera(true)// 是否显示拍照按钮 true or false
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true
.sizeMultiplier(0.1f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
.setOutputCameraPath("/CustomPath")// 自定义拍、照保存路径,可不填
.compress(true)// 是否压缩 true or false
.glideOverride(300, 300)// int glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
.hideBottomControls(true)// 是否显示uCrop工具栏,默认不显示 true or false
.compressSavePath(getPath())//压缩图片保存地址
.previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
// .minimumCompressSize(100)// 小于100kb的图片不压缩
.synOrAsy(true)//同步true或异步false 压缩 默认同步、
.enableCrop(true)//是否裁剪
.withAspectRatio(1, 1)
.freeStyleCropEnabled(true);
selector.forResult(PictureConfig.CHOOSE_REQUEST);
}
private String getPath() {
String path = Environment.getExternalStorageDirectory() + "/dayu/image/";
File file = new File(path);
if (file.mkdirs()) {
return path;
}
return path;
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
mSelectList = PictureSelector.obtainMultipleResult(data);
if (mSelectList != null) {
for (int a = 0; a < mSelectList.size(); a++) {
GlideImageLoader.load(mActivity, mSelectList.get(a).getCompressPath(), mBind.ivHeader);
}
}
break;
}
}
}
}
package com.dayu.bigfish.ui;
import com.dayu.bigfish.R;
import com.dayu.bigfish.base.BaseActivity;
import com.dayu.bigfish.databinding.ActivityPersonInfoBinding;
import com.dayu.bigfish.presenter.personinfo.PersonInfoContract;
import com.dayu.bigfish.presenter.personinfo.PersonInfoPresenter;
public class PersonInfoActivity extends BaseActivity<PersonInfoPresenter, ActivityPersonInfoBinding> implements PersonInfoContract.View{
@Override
public int getLayoutId() {
return R.layout.activity_person_info;
}
@Override
public void initView() {
}
}
...@@ -49,7 +49,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac ...@@ -49,7 +49,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
@Override @Override
public void initView() { public void initView() {
mSelectList = new ArrayList<>(); mSelectList = new ArrayList<>();
mAddIV.setOnClickListener(v -> choosePic()); mAddIV.setOnClickListener(v -> showPicDialog());
} }
public void initAddIv() { public void initAddIv() {
...@@ -59,7 +59,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac ...@@ -59,7 +59,7 @@ public class ProcessOrderActivity extends BaseActivity<ProcessOrderPresenter, Ac
mAddIV.setImageResource(R.mipmap.settopic_pictrue); mAddIV.setImageResource(R.mipmap.settopic_pictrue);
} }
public void choosePic() { public void showPicDialog() {
PictureSelectionModel selector = PictureSelector.create(mActivity) PictureSelectionModel selector = PictureSelector.create(mActivity)
.openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo() .openGallery(PictureMimeType.ofImage())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()
.maxSelectNum(5 - mImages.size())// 最大图片选择数量 int .maxSelectNum(5 - mImages.size())// 最大图片选择数量 int
......
...@@ -15,7 +15,6 @@ import android.graphics.drawable.ColorDrawable; ...@@ -15,7 +15,6 @@ import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.net.Uri; import android.net.Uri;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.widget.ImageView;
import com.dayu.bigfish.R; import com.dayu.bigfish.R;
...@@ -23,7 +22,7 @@ import com.dayu.bigfish.R; ...@@ -23,7 +22,7 @@ import com.dayu.bigfish.R;
* Created by yu on 2017/8/24. * Created by yu on 2017/8/24.
*/ */
public class CircleImageView extends ImageView { public class CircleImageView extends android.support.v7.widget.AppCompatImageView {
private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP; private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP;
private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888; private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888;
private static final int COLORDRAWABLE_DIMENSION = 2; private static final int COLORDRAWABLE_DIMENSION = 2;
......
package com.dayu.bigfish.ui.views;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
/**
* Created by Jaeger on 16/6/8.
*
* Email: chjie.jaeger@gmail.com
* GitHub: https://github.com/laobie
*/
public class StatusBarView extends View {
public StatusBarView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public StatusBarView(Context context) {
super(context);
}
}
...@@ -102,6 +102,7 @@ public class BindingUtils { ...@@ -102,6 +102,7 @@ public class BindingUtils {
* *
* @param view * @param view
*/ */
@Deprecated
@BindingAdapter({"dataSours"}) @BindingAdapter({"dataSours"})
public static void setDatas(LRecyclerView view, Object obj) { public static void setDatas(LRecyclerView view, Object obj) {
if (obj instanceof BasePageBean) { if (obj instanceof BasePageBean) {
......
package com.dayu.bigfish.utils;
import android.support.v7.util.DiffUtil;
import com.dayu.bigfish.bean.Order;
import java.util.List;
/**
* Created by luofan on 2017/12/24.
*/
public class DiffCallBack<M> extends DiffUtil.Callback {
private List<M> mOldDatas;
private List<M> mNewDatas;
public DiffCallBack(List<M> olddatas, List<M> newDatas) {
this.mOldDatas = olddatas;
this.mNewDatas = newDatas;
}
@Override
public int getOldListSize() {
return mOldDatas != null ? mOldDatas.size() : 0;
}
@Override
public int getNewListSize() {
return mNewDatas != null ? mNewDatas.size() : 0;
}
@Override
public boolean areItemsTheSame(int oldItemPosition, int newItemPosition) {
if (mNewDatas.get(0) instanceof Order) {
return ((Order) mOldDatas.get(oldItemPosition)).getId() == ((Order) mNewDatas.get(oldItemPosition)).getId();
} else {
return false;
}
}
@Override
public boolean areContentsTheSame(int oldItemPosition, int newItemPosition) {
if (mNewDatas.get(0) instanceof Order) {
return ((Order) mOldDatas.get(oldItemPosition)).getId() == ((Order) mNewDatas.get(oldItemPosition)).getId();
} else {
return false;
}
}
}
package com.dayu.bigfish.utils;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.TabActivity;
import android.content.Context;
import android.graphics.Color;
import android.os.Build;
import android.support.annotation.ColorInt;
import android.support.v4.widget.DrawerLayout;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.LinearLayout;
import com.dayu.bigfish.ui.views.StatusBarView;
/**
* Created by Jaeger on 16/2/14.
* <p>
* Email: chjie.jaeger@gmail.com
* GitHub: https://github.com/laobie
*/
public class StatusBarUtil {
public static final int DEFAULT_STATUS_BAR_ALPHA = 112;
/**
* 设置状态栏颜色
*
* @param activity 需要设置的 activity
* @param color 状态栏颜色值
*/
public static void setColor(Activity activity, @ColorInt int color) {
setColor(activity, color, DEFAULT_STATUS_BAR_ALPHA);
}
/**
* 设置状态栏颜色
*
* @param activity 需要设置的activity
* @param color 状态栏颜色值
* @param statusBarAlpha 状态栏透明度
*/
public static void setColor(Activity activity, @ColorInt int color, int statusBarAlpha) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
activity.getWindow().setStatusBarColor(calculateStatusColor(color, statusBarAlpha));
} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
int count = decorView.getChildCount();
if (count > 0 && decorView.getChildAt(count - 1) instanceof StatusBarView) {
decorView.getChildAt(count - 1).setBackgroundColor(calculateStatusColor(color, statusBarAlpha));
} else {
StatusBarView statusView = createStatusBarView(activity, color, statusBarAlpha);
decorView.addView(statusView);
}
setRootView(activity);
}
}
/**
* 设置状态栏纯色 不加半透明效果
*
* @param activity 需要设置的 activity
* @param color 状态栏颜色值
*/
public static void setColorNoTranslucent(Activity activity, @ColorInt int color) {
setColor(activity, color, 0);
}
/**
* 设置状态栏颜色(5.0以下无半透明效果,不建议使用)
*
* @param activity 需要设置的 activity
* @param color 状态栏颜色值
*/
@Deprecated
public static void setColorDiff(Activity activity, @ColorInt int color) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 生成一个状态栏大小的矩形
ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
int count = decorView.getChildCount();
if (count > 0 && decorView.getChildAt(count - 1) instanceof StatusBarView) {
decorView.getChildAt(count - 1).setBackgroundColor(color);
} else {
StatusBarView statusView = createStatusBarView(activity, color);
decorView.addView(statusView);
}
setRootView(activity);
}
/**
* 使状态栏半透明
* <p>
* 适用于图片作为背景的界面,此时需要图片填充到状态栏
*
* @param activity 需要设置的activity
*/
public static void setTranslucent(Activity activity) {
setTranslucent(activity, DEFAULT_STATUS_BAR_ALPHA);
}
/**
* 使状态栏半透明
* <p>
* 适用于图片作为背景的界面,此时需要图片填充到状态栏
*
* @param activity 需要设置的activity
* @param statusBarAlpha 状态栏透明度
*/
public static void setTranslucent(Activity activity, int statusBarAlpha) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
setTransparent(activity);
addTranslucentView(activity, statusBarAlpha);
}
/**
* 针对根布局是 CoordinatorLayout, 使状态栏半透明
* <p>
* 适用于图片作为背景的界面,此时需要图片填充到状态栏
*
* @param activity 需要设置的activity
* @param statusBarAlpha 状态栏透明度
*/
public static void setTranslucentForCoordinatorLayout(Activity activity, int statusBarAlpha) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
transparentStatusBar(activity);
addTranslucentView(activity, statusBarAlpha);
}
/**
* 设置状态栏全透明
*
* @param activity 需要设置的activity
*/
public static void setTransparent(Activity activity) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
transparentStatusBar(activity);
setRootView(activity);
}
/**
* 使状态栏透明(5.0以上半透明效果,不建议使用)
* <p>
* 适用于图片作为背景的界面,此时需要图片填充到状态栏
*
* @param activity 需要设置的activity
*/
@Deprecated
public static void setTranslucentDiff(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// 设置状态栏透明
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
setRootView(activity);
}
}
/**
* 为DrawerLayout 布局设置状态栏变色
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
* @param color 状态栏颜色值
*/
public static void setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) {
setColorForDrawerLayout(activity, drawerLayout, color, DEFAULT_STATUS_BAR_ALPHA);
}
/**
* 为DrawerLayout 布局设置状态栏颜色,纯色
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
* @param color 状态栏颜色值
*/
public static void setColorNoTranslucentForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) {
setColorForDrawerLayout(activity, drawerLayout, color, 0);
}
/**
* 为DrawerLayout 布局设置状态栏变色
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
* @param color 状态栏颜色值
* @param statusBarAlpha 状态栏透明度
*/
public static void setColorForDrawerLayout(Activity activity, DrawerLayout drawerLayout, @ColorInt int color,
int statusBarAlpha) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
} else {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
// 生成一个状态栏大小的矩形
// 添加 statusBarView 到布局中
ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
if (contentLayout.getChildCount() > 0 && contentLayout.getChildAt(0) instanceof StatusBarView) {
contentLayout.getChildAt(0).setBackgroundColor(calculateStatusColor(color, statusBarAlpha));
} else {
StatusBarView statusBarView = createStatusBarView(activity, color);
contentLayout.addView(statusBarView, 0);
}
// 内容布局不是 LinearLayout 时,设置padding top
if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) {
contentLayout.getChildAt(1)
.setPadding(contentLayout.getPaddingLeft(), getStatusBarHeight(activity) + contentLayout.getPaddingTop(),
contentLayout.getPaddingRight(), contentLayout.getPaddingBottom());
}
// 设置属性
ViewGroup drawer = (ViewGroup) drawerLayout.getChildAt(1);
drawerLayout.setFitsSystemWindows(false);
contentLayout.setFitsSystemWindows(false);
contentLayout.setClipToPadding(true);
drawer.setFitsSystemWindows(false);
addTranslucentView(activity, statusBarAlpha);
}
/**
* 为DrawerLayout 布局设置状态栏变色(5.0以下无半透明效果,不建议使用)
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
* @param color 状态栏颜色值
*/
@Deprecated
public static void setColorForDrawerLayoutDiff(Activity activity, DrawerLayout drawerLayout, @ColorInt int color) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 生成一个状态栏大小的矩形
ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
if (contentLayout.getChildCount() > 0 && contentLayout.getChildAt(0) instanceof StatusBarView) {
contentLayout.getChildAt(0).setBackgroundColor(calculateStatusColor(color, DEFAULT_STATUS_BAR_ALPHA));
} else {
// 添加 statusBarView 到布局中
StatusBarView statusBarView = createStatusBarView(activity, color);
contentLayout.addView(statusBarView, 0);
}
// 内容布局不是 LinearLayout 时,设置padding top
if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) {
contentLayout.getChildAt(1).setPadding(0, getStatusBarHeight(activity), 0, 0);
}
// 设置属性
ViewGroup drawer = (ViewGroup) drawerLayout.getChildAt(1);
drawerLayout.setFitsSystemWindows(false);
contentLayout.setFitsSystemWindows(false);
contentLayout.setClipToPadding(true);
drawer.setFitsSystemWindows(false);
}
}
/**
* 为 DrawerLayout 布局设置状态栏透明
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
*/
public static void setTranslucentForDrawerLayout(Activity activity, DrawerLayout drawerLayout) {
setTranslucentForDrawerLayout(activity, drawerLayout, DEFAULT_STATUS_BAR_ALPHA);
}
/**
* 为 DrawerLayout 布局设置状态栏透明
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
*/
public static void setTranslucentForDrawerLayout(Activity activity, DrawerLayout drawerLayout, int statusBarAlpha) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
setTransparentForDrawerLayout(activity, drawerLayout);
addTranslucentView(activity, statusBarAlpha);
}
/**
* 为 DrawerLayout 布局设置状态栏透明
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
*/
public static void setTransparentForDrawerLayout(Activity activity, DrawerLayout drawerLayout) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
} else {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
// 内容布局不是 LinearLayout 时,设置padding top
if (!(contentLayout instanceof LinearLayout) && contentLayout.getChildAt(1) != null) {
contentLayout.getChildAt(1).setPadding(0, getStatusBarHeight(activity), 0, 0);
}
// 设置属性
ViewGroup drawer = (ViewGroup) drawerLayout.getChildAt(1);
drawerLayout.setFitsSystemWindows(false);
contentLayout.setFitsSystemWindows(false);
contentLayout.setClipToPadding(true);
drawer.setFitsSystemWindows(false);
}
/**
* 为 DrawerLayout 布局设置状态栏透明(5.0以上半透明效果,不建议使用)
*
* @param activity 需要设置的activity
* @param drawerLayout DrawerLayout
*/
@Deprecated
public static void setTranslucentForDrawerLayoutDiff(Activity activity, DrawerLayout drawerLayout) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
// 设置状态栏透明
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 设置内容布局属性
ViewGroup contentLayout = (ViewGroup) drawerLayout.getChildAt(0);
contentLayout.setFitsSystemWindows(true);
contentLayout.setClipToPadding(true);
// 设置抽屉布局属性
ViewGroup vg = (ViewGroup) drawerLayout.getChildAt(1);
vg.setFitsSystemWindows(false);
// 设置 DrawerLayout 属性
drawerLayout.setFitsSystemWindows(false);
}
}
/**
* 为头部是 ImageView 的界面设置状态栏全透明
*
* @param activity 需要设置的activity
* @param needOffsetView 需要向下偏移的 View
*/
public static void setTransparentForImageView(Activity activity, View needOffsetView) {
setTranslucentForImageView(activity, 0, needOffsetView);
}
/**
* 为头部是 ImageView 的界面设置状态栏透明(使用默认透明度)
*
* @param activity 需要设置的activity
* @param needOffsetView 需要向下偏移的 View
*/
public static void setTranslucentForImageView(Activity activity, View needOffsetView) {
setTranslucentForImageView(activity, DEFAULT_STATUS_BAR_ALPHA, needOffsetView);
}
/**
* 为头部是 ImageView 的界面设置状态栏透明
*
* @param activity 需要设置的activity
* @param statusBarAlpha 状态栏透明度
* @param needOffsetView 需要向下偏移的 View
*/
public static void setTranslucentForImageView(Activity activity, int statusBarAlpha, View needOffsetView) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
return;
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
activity.getWindow()
.getDecorView()
.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
if (activity instanceof TabActivity){
activity.getWindow()//兼容TabActivity
.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
} else {
activity.getWindow()
.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS, WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
addTranslucentView(activity, statusBarAlpha);
if (needOffsetView != null) {
ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) needOffsetView.getLayoutParams();
if (layoutParams != null) {
layoutParams.setMargins(0, getStatusBarHeight(activity), 0, 0);
}
}
}
public static void setMargin(Activity activity, View needOffsetView) {
if (needOffsetView != null) {
ViewGroup.MarginLayoutParams layoutParams = (ViewGroup.MarginLayoutParams) needOffsetView.getLayoutParams();
if (layoutParams != null) {
layoutParams.setMargins(0, getStatusBarHeight(activity), 0, 0);
}
}
}
/**
* 为 fragment 头部是 ImageView 的设置状态栏透明
*
* @param activity fragment 对应的 activity
* @param needOffsetView 需要向下偏移的 View
*/
public static void setTranslucentForImageViewInFragment(Activity activity, View needOffsetView) {
setTranslucentForImageViewInFragment(activity, DEFAULT_STATUS_BAR_ALPHA, needOffsetView);
}
/**
* 为 fragment 头部是 ImageView 的设置状态栏透明
*
* @param activity fragment 对应的 activity
* @param needOffsetView 需要向下偏移的 View
*/
public static void setTransparentForImageViewInFragment(Activity activity, View needOffsetView) {
setTranslucentForImageViewInFragment(activity, 0, needOffsetView);
}
/**
* 为 fragment 头部是 ImageView 的设置状态栏透明
*
* @param activity fragment 对应的 activity
* @param statusBarAlpha 状态栏透明度
* @param needOffsetView 需要向下偏移的 View
*/
public static void setTranslucentForImageViewInFragment(Activity activity, int statusBarAlpha, View needOffsetView) {
setTranslucentForImageView(activity, statusBarAlpha, needOffsetView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
clearPreviousSetting(activity);
}
}
@TargetApi(Build.VERSION_CODES.KITKAT)
private static void clearPreviousSetting(Activity activity) {
ViewGroup decorView = (ViewGroup) activity.getWindow().getDecorView();
int count = decorView.getChildCount();
if (count > 0 && decorView.getChildAt(count - 1) instanceof StatusBarView) {
decorView.removeViewAt(count - 1);
ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
rootView.setPadding(0, 0, 0, 0);
}
}
/**
* 添加半透明矩形条
*
* @param activity 需要设置的 activity
* @param statusBarAlpha 透明值
*/
private static void addTranslucentView(Activity activity, int statusBarAlpha) {
ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content);
if (contentView.getChildCount() > 1) {
contentView.getChildAt(1).setBackgroundColor(Color.argb(statusBarAlpha, 0, 0, 0));
} else {
contentView.addView(createTranslucentStatusBarView(activity, statusBarAlpha));
}
}
/**
* 生成一个和状态栏大小相同的彩色矩形条
*
* @param activity 需要设置的 activity
* @param color 状态栏颜色值
* @return 状态栏矩形条
*/
private static StatusBarView createStatusBarView(Activity activity, @ColorInt int color) {
// 绘制一个和状态栏一样高的矩形
StatusBarView statusBarView = new StatusBarView(activity);
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity));
statusBarView.setLayoutParams(params);
statusBarView.setBackgroundColor(color);
return statusBarView;
}
/**
* 生成一个和状态栏大小相同的半透明矩形条
*
* @param activity 需要设置的activity
* @param color 状态栏颜色值
* @param alpha 透明值
* @return 状态栏矩形条
*/
private static StatusBarView createStatusBarView(Activity activity, @ColorInt int color, int alpha) {
// 绘制一个和状态栏一样高的矩形
StatusBarView statusBarView = new StatusBarView(activity);
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity));
statusBarView.setLayoutParams(params);
statusBarView.setBackgroundColor(calculateStatusColor(color, alpha));
return statusBarView;
}
/**
* 设置根布局参数
*/
private static void setRootView(Activity activity) {
ViewGroup rootView = (ViewGroup) ((ViewGroup) activity.findViewById(android.R.id.content)).getChildAt(0);
rootView.setFitsSystemWindows(true);
rootView.setClipToPadding(true);
}
/**
* 使状态栏透明
*/
@TargetApi(Build.VERSION_CODES.KITKAT)
private static void transparentStatusBar(Activity activity) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
activity.getWindow().setStatusBarColor(Color.TRANSPARENT);
} else {
activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
}
}
/**
* 创建半透明矩形 View
*
* @param alpha 透明值
* @return 半透明 View
*/
private static StatusBarView createTranslucentStatusBarView(Activity activity, int alpha) {
// 绘制一个和状态栏一样高的矩形
StatusBarView statusBarView = new StatusBarView(activity);
LinearLayout.LayoutParams params =
new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, getStatusBarHeight(activity));
statusBarView.setLayoutParams(params);
statusBarView.setBackgroundColor(Color.argb(alpha, 0, 0, 0));
return statusBarView;
}
/**
* 获取状态栏高度
*
* @param context context
* @return 状态栏高度
*/
public static int getStatusBarHeight(Context context) {
// 获得状态栏高度
int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android");
return context.getResources().getDimensionPixelSize(resourceId);
}
/**
* 计算状态栏颜色
*
* @param color color值
* @param alpha alpha值
* @return 最终的状态栏颜色
*/
private static int calculateStatusColor(@ColorInt int color, int alpha) {
float a = 1 - alpha / 255f;
int red = color >> 16 & 0xff;
int green = color >> 8 & 0xff;
int blue = color & 0xff;
red = (int) (red * a + 0.5);
green = (int) (green * a + 0.5);
blue = (int) (blue * a + 0.5);
return 0xff << 24 | red << 16 | green << 8 | blue;
}
}
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
android:id="@+id/tab_order_num" android:id="@+id/tab_order_num"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:text="0" android:text="@{presenter.tabRecive}"
android:textColor="@color/cl_white" android:textColor="@color/cl_white"
android:textSize="16.7sp" android:textSize="16.7sp"
/> />
......
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFF5F5F5"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cl_home_listview_bg"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/title_idea"
style="@style/title">
<TextView
android:id="@+id/text_idea"
style="@style/text_title"
android:text="@string/modify_personal_info" />
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back" />
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:text="@string/submission_of_audit"
android:textColor="#FF4BAFFD"
android:textSize="15sp" />
<ImageView
android:layout_width="match_parent"
android:layout_height="@dimen/dp_6"
android:layout_alignParentBottom="true"
android:src="@drawable/line_shape" />
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="@string/real_name"
android:textSize="15sp" />
<EditText
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="35dp"
android:background="@null"
android:hint="请输入真实姓名"
android:textSize="15sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginBottom="10dp"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:text="@string/person_identity"
android:textSize="15sp" />
<EditText
android:id="@+id/tv_identity_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="35dp"
android:background="@null"
android:hint="请输入证件号"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:text="@string/commite_identity_pic"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_pic_num"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="15dp"
android:text="@string/commite_pic_zero"
android:textSize="15sp" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="140dp"
android:background="@color/white"
android:gravity="center_vertical">
<RelativeLayout
android:id="@+id/rl_header"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginLeft="15dp"
android:visibility="gone">
<ImageView
android:id="@+id/iv_header"
android:layout_width="100dp"
android:layout_height="100dp" />
<ImageView
android:id="@+id/iv_delete"
android:layout_width="18dp"
android:layout_height="18dp"
android:layout_alignParentRight="true"
android:src="@mipmap/img_photo_delete" />
</RelativeLayout>
<ImageView
android:id="@+id/iv_add"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_marginLeft="15dp"
android:src="@mipmap/icon_identity_default" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginTop="18sp"
android:text="@string/reminder"
android:textColor="#FF46ADFC"
android:textSize="12sp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_marginRight="138dp"
android:layout_marginTop="10dp"
android:text="@string/reminder_content"
android:textColor="#FF8B9198"
android:textSize="12sp" />
</LinearLayout>
</layout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name="presenter"
type="com.dayu.bigfish.presenter.personinfo.PersonInfoPresenter" />
</data>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFF5F5F5"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cl_home_listview_bg"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/title_idea"
style="@style/title">
<TextView
android:id="@+id/text_idea"
style="@style/text_title"
android:text="@string/personal_info" />
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back"
android:onClick="@{()->presenter.dumpBack()}"
/>
<ImageView
android:layout_width="match_parent"
android:layout_height="@dimen/dp_6"
android:layout_alignParentBottom="true"
android:src="@drawable/line_shape" />
</RelativeLayout>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="15dp"
android:layout_weight="1"
android:text="@string/header_pic"
android:textSize="15sp" />
<com.dayu.bigfish.ui.views.CircleImageView
android:id="@+id/cv_header"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentRight="true"
android:layout_marginLeft="10dp"
android:onClick="@{()->presenter.dumpToHeader()}"
android:src="@mipmap/user"
app:border_color="@color/cl_home_circleimageview_bg"
app:border_width="@dimen/size_home_circleimageview_border" />
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:src="@mipmap/icon_arrow_right" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginBottom="@dimen/dp_10"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:text="@string/person_mobile"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_mobile"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="@dimen/dp_15"
android:text="13567810832"
android:textSize="15sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
android:gravity="center_vertical"
android:onClick="@{()->presenter.dumpToModifyPerson()}"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:text="@string/real_name"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="罗"
android:textSize="15sp" />
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginRight="@dimen/dp_15"
android:src="@mipmap/icon_arrow_right" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white"
android:gravity="center_vertical"
android:onClick="@{()->presenter.dumpToModifyPerson()}"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:text="@string/person_identity"
android:textSize="15sp" />
<TextView
android:id="@+id/tv_identity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:text="手机号"
android:textSize="15sp" />
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginRight="@dimen/dp_15"
android:src="@mipmap/icon_arrow_right" />
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:background="@color/white"
android:gravity="center_vertical"
android:onClick="@{()->presenter.dumpToModifyPerson()}"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/dp_10"
android:layout_weight="1"
android:text="@string/person_identity_pic"
android:textSize="15sp" />
<ImageView
android:id="@+id/cv_identity"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_marginRight="@dimen/dp_10"
android:src="@mipmap/icon_identity" />
<ImageView
android:layout_width="15dp"
android:layout_height="15dp"
android:layout_marginRight="@dimen/dp_15"
android:src="@mipmap/icon_arrow_right" />
</LinearLayout>
</LinearLayout>
</layout>
\ No newline at end of file
...@@ -52,13 +52,15 @@ ...@@ -52,13 +52,15 @@
android:scaleType="fitXY" android:scaleType="fitXY"
android:src="@mipmap/person_title_view" /> android:src="@mipmap/person_title_view" />
<com.dayu.bigfish.ui.views.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto" <com.dayu.bigfish.ui.views.CircleImageView xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/iv_header" android:id="@+id/iv_header"
imageUrl="@{imgurl}" imageUrl="@{imgurl}"
android:layout_width="@dimen/size_login_mlcircleimageview_width" android:layout_width="86dp"
android:layout_height="@dimen/size_login_mlcircleimageview_height" android:layout_height="86dp"
android:layout_centerHorizontal="true" android:layout_centerHorizontal="true"
android:layout_marginTop="83.3dp" android:layout_marginTop="83.3dp"
android:onClick="@{()->presenter.dumpToPersonalInfo()}"
android:src="@mipmap/user" android:src="@mipmap/user"
app:border_color="@color/cl_home_circleimageview_bg" app:border_color="@color/cl_home_circleimageview_bg"
app:border_width="@dimen/size_home_circleimageview_border" /> app:border_width="@dimen/size_home_circleimageview_border" />
...@@ -74,6 +76,15 @@ ...@@ -74,6 +76,15 @@
android:textColor="@color/cl_home_title_text_color" android:textColor="@color/cl_home_title_text_color"
android:textSize="14.7sp" android:textSize="14.7sp"
android:textStyle="bold" /> android:textStyle="bold" />
<ImageView
android:layout_width="41dp"
android:layout_height="14dp"
android:layout_below="@id/iv_header"
android:layout_marginLeft="2dp"
android:layout_marginTop="17dp"
android:layout_toRightOf="@id/tv_name"
android:src="@mipmap/icon_authentication" />
</RelativeLayout> </RelativeLayout>
<RelativeLayout <RelativeLayout
...@@ -157,7 +168,8 @@ ...@@ -157,7 +168,8 @@
android:id="@+id/linearLayout_evaluate" android:id="@+id/linearLayout_evaluate"
android:layout_width="160dp" android:layout_width="160dp"
android:layout_height="100dp" android:layout_height="100dp"
android:layout_below="@id/person_line"> android:layout_below="@id/person_line"
android:background="@drawable/personal_center_selector">
<TextView <TextView
android:id="@+id/text_today_yeji" android:id="@+id/text_today_yeji"
......
<?xml version="1.0" encoding="utf-8"?>
<layout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/cl_home_listview_bg"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/title_idea"
style="@style/title">
<TextView
android:id="@+id/text_idea"
style="@style/text_title"
android:text="@string/title_my_header" />
<ImageView
android:id="@+id/title_back"
style="@style/title_image_back" />
<TextView
android:id="@+id/tv_right_title"
style="@style/title_right_text"
android:text="@string/modify_header_iv"
android:textColor="#FF2D2D2D"
android:textSize="15sp" />
<ImageView
android:layout_width="match_parent"
android:layout_height="@dimen/dp_6"
android:layout_alignParentBottom="true"
android:src="@drawable/line_shape" />
</RelativeLayout>
</RelativeLayout>
<ImageView
android:id="@+id/iv_header"
android:layout_width="match_parent"
android:layout_height="375dp"
android:layout_marginTop="50dp" />
</LinearLayout>
</layout>
\ No newline at end of file
...@@ -256,6 +256,23 @@ ...@@ -256,6 +256,23 @@
<string name="customer_server_mobile">客服电话</string> <string name="customer_server_mobile">客服电话</string>
<string name="abount_us">关于我们</string> <string name="abount_us">关于我们</string>
<string name="problem_feedback">问题反馈</string> <string name="problem_feedback">问题反馈</string>
<string name="personal_info">个人资料</string>
<string name="modify_personal_info">修改资料</string>
<string name="submission_of_audit">提交审核</string>
<string name="title_my_header">我的头像</string>
<string name="modify_header_iv">修改头像</string>
<string name="header_pic">头像</string>
<string name="person_mobile">手机号码</string>
<string name="real_name">真实姓名</string>
<string name="person_identity">身份证号</string>
<string name="person_identity_pic">身份证照片</string>
<string name="commite_identity_pic">上传身份证照片</string>
<string name="commite_pic_zero">已上传0/1张</string>
<string name="commite_pic_one">已上传1/1张</string>
<string name="one_pic_most">最多只能选择一张照片</string>
<string name="reminder">温馨提示</string>
<string name="reminder_content">"·请上传真实清晰完整的手持身份证照片·若认证失败,可修改认证信息后再次提交"</string>
<!--error--> <!--error-->
...@@ -348,6 +365,4 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ ...@@ -348,6 +365,4 @@ C) 在甲方使用大鱼平å°æœåŠ¡è¿‡ç¨‹ä¸­äº§ç”Ÿçš„业务数æ®ï¼Œå®¢æˆ·æ•°æ
1. 甲方同意本平台通过以下任何方式向其送达各类通知或文件,包括但不限于:网页公告、APP公告、大鱼平台账户通知、向甲方预留的联系方式发送电子邮件、短信、信函等\n 1. 甲方同意本平台通过以下任何方式向其送达各类通知或文件,包括但不限于:网页公告、APP公告、大鱼平台账户通知、向甲方预留的联系方式发送电子邮件、短信、信函等\n
2. 如果本协议的任何条款被视为不合法、无效或无法强制执行的,其不应影响本协议任何其他条款的有效性或可执行性。\n 2. 如果本协议的任何条款被视为不合法、无效或无法强制执行的,其不应影响本协议任何其他条款的有效性或可执行性。\n
</string> </string>
</resources> </resources>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment