新增帮助与反馈功能
This commit is contained in:
@@ -162,6 +162,9 @@
|
||||
|
||||
<activity android:name=".activity.MainHomeCommunityActivity"
|
||||
android:screenOrientation="portrait" />
|
||||
<activity android:name=".activity.FeedbackActivity" />
|
||||
<activity android:name=".activity.FeedbackSuccessActivity" />
|
||||
<activity android:name=".activity.FeedbackEditActivity" />
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.http.HttpCallback;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
import com.yunbao.main.http.MainHttpUtil;
|
||||
|
||||
@Route(path = RouteUtil.PATH_FEEDBACK_ACTIVITY)
|
||||
public class FeedbackActivity extends AbsActivity {
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_feedback;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
super.main();
|
||||
setTitle(WordUtil.getNewString(R.string.activity_feedback_top_title));
|
||||
setTitleBold(true);
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_cs), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
//TODO 客服
|
||||
MainHttpUtil.getCustomerService(new HttpCallback() {
|
||||
@Override
|
||||
public void onSuccess(int code, String msg, String[] info) {
|
||||
if (info.length == 1) {
|
||||
String url = info[0];
|
||||
RouteUtil.forwardCustomerService(url);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.btn_feedback), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
//TODO 意见反馈
|
||||
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_EDIT_ACTIVITY);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,351 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.graphics.Color;
|
||||
import android.text.Editable;
|
||||
import android.text.InputFilter;
|
||||
import android.text.TextWatcher;
|
||||
import android.util.SparseArray;
|
||||
import android.view.View;
|
||||
import android.widget.Button;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.bean.HttpCallbackModel;
|
||||
import com.yunbao.common.glide.ImgLoader;
|
||||
import com.yunbao.common.http.base.HttpCallback;
|
||||
import com.yunbao.common.http.live.LiveNetManager;
|
||||
import com.yunbao.common.interfaces.ImageResultCallback;
|
||||
import com.yunbao.common.interfaces.OnItemClickListener;
|
||||
import com.yunbao.common.utils.DialogUitl;
|
||||
import com.yunbao.common.utils.ProcessImageUtil;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.ToastUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Locale;
|
||||
|
||||
@Route(path = RouteUtil.PATH_FEEDBACK_EDIT_ACTIVITY)
|
||||
public class FeedbackEditActivity extends AbsActivity {
|
||||
EditText feedbackEdit;
|
||||
ImageView img1, img2, img3;
|
||||
EditText ciEdit;
|
||||
Button submit;
|
||||
TextView editNumber;
|
||||
ProcessImageUtil imageUtil;
|
||||
Dialog loadingDialog = null;
|
||||
int clickImage = 0;
|
||||
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_feedback_edit;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
super.main();
|
||||
setTitle(WordUtil.getNewString(R.string.activity_feedback_edit_feedback_top));
|
||||
setTitleBold(true);
|
||||
initView();
|
||||
imageUtil = new ProcessImageUtil(this);
|
||||
feedbackEdit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(500)});
|
||||
ciEdit.setFilters(new InputFilter[]{new InputFilter.LengthFilter(30)});
|
||||
feedbackEdit.addTextChangedListener(new TextWatcher() {
|
||||
@Override
|
||||
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
|
||||
if (charSequence.length() == 500) {
|
||||
ToastUtil.show(R.string.activity_feedback_edit_submit_tip2);
|
||||
editNumber.setTextColor(Color.parseColor("#FF5656"));
|
||||
} else {
|
||||
editNumber.setTextColor(Color.parseColor("#333333"));
|
||||
}
|
||||
editNumber.setText(String.format(Locale.getDefault(), "%d", charSequence.length()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterTextChanged(Editable editable) {
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(img1, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
SparseArray<String> list;
|
||||
if (img1.getTag() == null) {
|
||||
list = getImageType1(100);
|
||||
} else {
|
||||
list = getImageType2(110);
|
||||
}
|
||||
showUploadImage(list);
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(img2, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
SparseArray<String> list;
|
||||
if (img2.getTag() == null) {
|
||||
list = getImageType1(200);
|
||||
} else {
|
||||
list = getImageType2(210);
|
||||
}
|
||||
showUploadImage(list);
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(img3, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
SparseArray<String> list;
|
||||
if (img3.getTag() == null) {
|
||||
list = getImageType1(300);
|
||||
} else {
|
||||
list = getImageType2(310);
|
||||
}
|
||||
showUploadImage(list);
|
||||
|
||||
}
|
||||
});
|
||||
ViewClicksAntiShake.clicksAntiShake(submit, new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
if (feedbackEdit.getText().length() == 0) {
|
||||
ToastUtil.show(R.string.activity_feedback_edit_submit_tip1);
|
||||
return;
|
||||
}
|
||||
JSONArray images = new JSONArray();
|
||||
if (img1.getTag() != null) {
|
||||
images.add((String) img1.getTag());
|
||||
}
|
||||
if (img2.getTag() != null) {
|
||||
images.add((String) img2.getTag());
|
||||
}
|
||||
if (img3.getTag() != null) {
|
||||
images.add((String) img3.getTag());
|
||||
}
|
||||
LiveNetManager.get(mContext)
|
||||
.feedback(feedbackEdit.getText().toString(),
|
||||
images,
|
||||
ciEdit.getText().toString(),
|
||||
new HttpCallback<HttpCallbackModel>() {
|
||||
@Override
|
||||
public void onSuccess(HttpCallbackModel data) {
|
||||
finish();
|
||||
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_SUCCESS_ACTIVITY);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onError(String error) {
|
||||
ToastUtil.show(error);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
});
|
||||
img1.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View view) {
|
||||
ToastUtil.show("1");
|
||||
return true;
|
||||
}
|
||||
});
|
||||
img2.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View view) {
|
||||
ToastUtil.show("2");
|
||||
return true;
|
||||
}
|
||||
});
|
||||
img3.setOnLongClickListener(new View.OnLongClickListener() {
|
||||
@Override
|
||||
public boolean onLongClick(View view) {
|
||||
ToastUtil.show("3");
|
||||
return true;
|
||||
}
|
||||
});
|
||||
imageUtil.setImageResultCallback(new ImageResultCallback() {
|
||||
|
||||
|
||||
@Override
|
||||
public void onSuccess(File file) {
|
||||
ToastUtil.show("图片地址:" + file.getAbsolutePath());
|
||||
onSuccessToQiNiuUrl(mContext, file, new OnItemClickListener<String>() {
|
||||
@Override
|
||||
public void onItemClick(String bean, int position) {
|
||||
if (loadingDialog != null) {
|
||||
loadingDialog.dismiss();
|
||||
loadingDialog = null;
|
||||
}
|
||||
switch (clickImage) {
|
||||
case 101:
|
||||
case 112:
|
||||
ImgLoader.display(mContext, bean, img1);
|
||||
img1.setTag(bean);
|
||||
if (img2.getTag() == null) {
|
||||
img2.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
img2.setVisibility(View.VISIBLE);
|
||||
} else if (img3.getTag() == null) {
|
||||
img3.setVisibility(View.VISIBLE);
|
||||
img3.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
}
|
||||
break;
|
||||
case 201:
|
||||
case 212:
|
||||
ImgLoader.display(mContext, bean, img2);
|
||||
img2.setTag(bean);
|
||||
if (img3.getTag() == null) {
|
||||
img3.setVisibility(View.VISIBLE);
|
||||
img3.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
}
|
||||
break;
|
||||
case 301:
|
||||
case 312:
|
||||
ImgLoader.display(mContext, bean, img3);
|
||||
img3.setTag(bean);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailure() {
|
||||
super.onFailure();
|
||||
if (loadingDialog != null) {
|
||||
loadingDialog.dismiss();
|
||||
loadingDialog = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void showUploadImage(SparseArray<String> list) {
|
||||
DialogUitl.showStringArrayDialog(mContext, list, new DialogUitl.StringArrayDialogCallback() {
|
||||
@Override
|
||||
public void onItemClick(String text, int tag) {
|
||||
clickImage = tag;
|
||||
switch (tag) {
|
||||
case 101:
|
||||
uploadImage(img1);
|
||||
break;
|
||||
case 201:
|
||||
uploadImage(img2);
|
||||
break;
|
||||
case 301:
|
||||
uploadImage(img3);
|
||||
break;
|
||||
case 111:
|
||||
deleteImage(1);
|
||||
break;
|
||||
case 211:
|
||||
deleteImage(2);
|
||||
break;
|
||||
case 311:
|
||||
deleteImage(3);
|
||||
break;
|
||||
case 112:
|
||||
changeImage(img1);
|
||||
break;
|
||||
case 212:
|
||||
changeImage(img2);
|
||||
break;
|
||||
case 312:
|
||||
changeImage(img3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void uploadImage(ImageView imageView) {
|
||||
if (loadingDialog != null) {
|
||||
loadingDialog.dismiss();
|
||||
loadingDialog = null;
|
||||
}
|
||||
loadingDialog = DialogUitl.loadingDialog(mContext);
|
||||
loadingDialog.show();
|
||||
imageUtil.getImageByAlumb(false);
|
||||
}
|
||||
|
||||
private void deleteImage(int index) {
|
||||
if (index == 1) {
|
||||
if (img2.getTag() != null) {
|
||||
img1.setTag(img2.getTag());
|
||||
ImgLoader.display(mContext, (String) img1.getTag(), img1);
|
||||
if (img3.getTag() != null) {
|
||||
img2.setTag(img3.getTag());
|
||||
ImgLoader.display(mContext, (String) img2.getTag(), img2);
|
||||
img3.setTag(null);
|
||||
img3.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
} else {
|
||||
img2.setTag(null);
|
||||
img2.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
img3.setTag(null);
|
||||
img3.setVisibility(View.GONE);
|
||||
}
|
||||
} else {
|
||||
img1.setTag(null);
|
||||
img1.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
img2.setTag(null);
|
||||
img2.setVisibility(View.GONE);
|
||||
img3.setTag(null);
|
||||
img3.setVisibility(View.GONE);
|
||||
}
|
||||
} else if (index == 2) {
|
||||
if (img3.getTag() != null) {
|
||||
img2.setTag(img3.getTag());
|
||||
ImgLoader.display(mContext, (String) img2.getTag(), img2);
|
||||
img3.setTag(null);
|
||||
img3.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
} else {
|
||||
img2.setTag(null);
|
||||
img2.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
img3.setTag(null);
|
||||
img3.setVisibility(View.GONE);
|
||||
}
|
||||
} else if (index == 3) {
|
||||
img3.setTag(null);
|
||||
img3.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void changeImage(ImageView imageView) {
|
||||
uploadImage(imageView);
|
||||
}
|
||||
|
||||
private SparseArray<String> getImageType1(int key) {
|
||||
SparseArray<String> array = new SparseArray<>();
|
||||
array.put(key + 1, WordUtil.getNewString(R.string.activity_feedback_edit_img_type1_upload));
|
||||
return array;
|
||||
}
|
||||
|
||||
private SparseArray<String> getImageType2(int key) {
|
||||
SparseArray<String> array = new SparseArray<>();
|
||||
array.put(key + 1, WordUtil.getNewString(R.string.activity_feedback_edit_img_type2_delete));
|
||||
array.put(key + 2, WordUtil.getNewString(R.string.activity_feedback_edit_img_type2_change));
|
||||
return array;
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
feedbackEdit = findViewById(R.id.tv_feedback);
|
||||
ciEdit = findViewById(R.id.edit_ci);
|
||||
img1 = findViewById(R.id.img1);
|
||||
img2 = findViewById(R.id.img2);
|
||||
img3 = findViewById(R.id.img3);
|
||||
submit = findViewById(R.id.btn_sub);
|
||||
editNumber = findViewById(R.id.tv_number);
|
||||
editNumber.setTextColor(Color.parseColor("#333333"));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.yunbao.main.activity;
|
||||
|
||||
import com.alibaba.android.arouter.facade.annotation.Route;
|
||||
import com.yunbao.common.activity.AbsActivity;
|
||||
import com.yunbao.common.utils.RouteUtil;
|
||||
import com.yunbao.common.utils.WordUtil;
|
||||
import com.yunbao.common.views.weight.ViewClicksAntiShake;
|
||||
import com.yunbao.main.R;
|
||||
|
||||
@Route(path = RouteUtil.PATH_FEEDBACK_SUCCESS_ACTIVITY)
|
||||
public class FeedbackSuccessActivity extends AbsActivity {
|
||||
@Override
|
||||
protected int getLayoutId() {
|
||||
return R.layout.activity_feedback_success;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void main() {
|
||||
super.main();
|
||||
setTitleBold(true);
|
||||
setTitle(WordUtil.getNewString(R.string.activity_feedback_edit_feedback_top));
|
||||
ViewClicksAntiShake.clicksAntiShake(findViewById(R.id.sub), new ViewClicksAntiShake.ViewClicksCallBack() {
|
||||
@Override
|
||||
public void onViewClicks() {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -316,12 +316,15 @@ public class SettingActivity extends AbsActivity implements OnItemClickListener<
|
||||
.show();
|
||||
}
|
||||
|
||||
}else if(bean.getId()==17){
|
||||
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_ACTIVITY);
|
||||
}
|
||||
} else {
|
||||
if (bean.getId() == 17) {//意见反馈要在url上加版本号和设备号
|
||||
href += "&version=" + android.os.Build.VERSION.RELEASE + "&model=" + android.os.Build.MODEL;
|
||||
}
|
||||
WebViewActivity.forward(mContext, href,false);
|
||||
// WebViewActivity.forward(mContext, href,false);
|
||||
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_ACTIVITY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -355,7 +355,7 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
|
||||
|
||||
if (u.getDress().getMedal() != null) {
|
||||
Log.e("tag", u.getDress().getMedal());
|
||||
ImgLoader.displayWithError(mContext, u.getDress().getMedal(), user_noble_ico,R.mipmap.icon_vip_gold);
|
||||
ImgLoader.displayWithError(mContext, u.getDress().getMedal(), user_noble_ico, R.mipmap.icon_vip_gold);
|
||||
} else {
|
||||
user_noble_ico.setImageResource(R.mipmap.icon_vip_gold);
|
||||
}
|
||||
@@ -468,6 +468,10 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
|
||||
MobclickAgent.onEvent(mContext, "my_room", "个人中心点房间管理");
|
||||
forwardRoomManage();
|
||||
break;
|
||||
case 26:
|
||||
case 17:
|
||||
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_ACTIVITY);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
//21 在线客服
|
||||
@@ -506,7 +510,10 @@ public class MainMeViewHolder extends AbsMainViewHolder implements OnItemClickLi
|
||||
if (bean.getId() == 24) {
|
||||
MobclickAgent.onEvent(mContext, "my_pack", "个人中心点包裹");
|
||||
}
|
||||
WebViewActivity.forward(mContext, url, false);
|
||||
if (bean.getId() == 17) {
|
||||
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_ACTIVITY);
|
||||
} else
|
||||
WebViewActivity.forward(mContext, url, false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="345dp" android:height="145dp">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#fff7f7f7" />
|
||||
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
9
main/src/main/res/drawable/bg_btn_feedback_success.xml
Normal file
9
main/src/main/res/drawable/bg_btn_feedback_success.xml
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:width="132dp" android:height="50dp">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="#ffffe34f" />
|
||||
<corners android:topLeftRadius="10dp" android:topRightRadius="10dp" android:bottomLeftRadius="10dp" android:bottomRightRadius="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
</selector>
|
||||
61
main/src/main/res/layout/activity_feedback.xml
Normal file
61
main/src/main/res/layout/activity_feedback.xml
Normal file
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout 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="#FFFFFF">
|
||||
|
||||
<include
|
||||
android:id="@+id/include4"
|
||||
layout="@layout/view_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView12"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="30dp"
|
||||
android:text="@string/activity_feedback_title"
|
||||
android:textColor="#777777"
|
||||
android:textSize="24sp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/linearLayout4"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linearLayout4"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="130dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/include4">
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_cs"
|
||||
android:layout_width="165dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_weight="1"
|
||||
android:background="#F7F7F7"
|
||||
android:text="@string/activity_feedback_customer_service"
|
||||
android:textAllCaps="false"
|
||||
android:textColor="#333333"
|
||||
android:textSize="13sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_feedback"
|
||||
android:layout_width="165dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_weight="1"
|
||||
android:background="#F7F7F7"
|
||||
android:text="@string/activity_feedback_feedback"
|
||||
android:textColor="#333333"
|
||||
android:textSize="13sp" />
|
||||
</LinearLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
198
main/src/main/res/layout/activity_feedback_edit.xml
Normal file
198
main/src/main/res/layout/activity_feedback_edit.xml
Normal file
@@ -0,0 +1,198 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="#FFFFFF"
|
||||
android:orientation="vertical">
|
||||
|
||||
<include
|
||||
android:id="@+id/include4"
|
||||
layout="@layout/view_title" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/activity_feedback_edit_feedback_title"
|
||||
android:textColor="#333333"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="*"
|
||||
android:textColor="#FF5656"
|
||||
android:textSize="15sp" />
|
||||
</LinearLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="145dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginEnd="15dp">
|
||||
|
||||
|
||||
<EditText
|
||||
android:id="@+id/tv_feedback"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="10dp"
|
||||
android:background="@drawable/bg_btn_feedback_edit_tv_edit"
|
||||
android:ems="10"
|
||||
android:gravity="start"
|
||||
android:hint="@string/activity_feedback_edit_feedback_hint"
|
||||
android:inputType="text|textMultiLine"
|
||||
android:padding="15dp"
|
||||
android:textSize="11sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/linearLayout5"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_marginBottom="15dp"
|
||||
android:orientation="horizontal"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_number"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="0"
|
||||
android:textColor="#333333"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tv_max"
|
||||
android:textColor="#333333"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="/500" />
|
||||
</LinearLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="@string/activity_feedback_edit_feedback_img_title"
|
||||
android:textColor="#333333"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/imgLayout"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/img1"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:src="@mipmap/icon_activity_feedback_edit_img_add" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/img2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:src="@mipmap/icon_activity_feedback_edit_img_add"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/img3"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:src="@mipmap/icon_activity_feedback_edit_img_add"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
</LinearLayout>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="@string/activity_feedback_edit_feedback_ci_title"
|
||||
android:textColor="#333333"
|
||||
android:textSize="15sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
<EditText
|
||||
android:id="@+id/edit_ci"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="50dp"
|
||||
android:layout_marginStart="15dp"
|
||||
android:layout_marginTop="15dp"
|
||||
android:layout_marginEnd="15dp"
|
||||
android:background="@drawable/bg_btn_feedback_edit_tv_edit"
|
||||
android:ems="10"
|
||||
android:hint="@string/activity_feedback_edit_feedback_ci_hint"
|
||||
android:inputType="text"
|
||||
android:padding="15dp"
|
||||
android:textSize="11sp" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/btn_sub"
|
||||
android:layout_width="132dp"
|
||||
android:layout_height="50dp"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="80dp"
|
||||
android:background="@drawable/bg_btn_feedback_success"
|
||||
android:text="@string/activity_feedback_edit_feedback_btn"
|
||||
android:textAllCaps="false" />
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="11dp"
|
||||
android:gravity="center"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="@string/activity_feedback_edit_feedback_btn_tips"
|
||||
android:textColor="#777777"
|
||||
android:textSize="11sp" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="*"
|
||||
android:textColor="#FF5656"
|
||||
android:textSize="11sp" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
55
main/src/main/res/layout/activity_feedback_success.xml
Normal file
55
main/src/main/res/layout/activity_feedback_success.xml
Normal file
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:background="#FFFFFF"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView14"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/activity_feedback_success_tips"
|
||||
android:textSize="13sp"
|
||||
android:textColor="#333333"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/imageView11"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="19dp"
|
||||
app:layout_constraintBottom_toTopOf="@+id/textView14"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:srcCompat="@mipmap/icon_activity_feedback_success" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/textView15"
|
||||
android:textSize="24sp"
|
||||
android:textColor="#777777"
|
||||
android:layout_width="wrap_content"
|
||||
android:gravity="center"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="19dp"
|
||||
android:text="@string/activity_feedback_success_title"
|
||||
app:layout_constraintBottom_toTopOf="@+id/imageView11"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/sub"
|
||||
android:layout_width="132dp"
|
||||
android:layout_height="50dp"
|
||||
android:text="@string/activity_feedback_success_sub"
|
||||
android:textAllCaps="false"
|
||||
android:background="@drawable/bg_btn_feedback_success"
|
||||
android:layout_marginTop="70dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/textView14" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 6.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 8.4 KiB |
@@ -18,5 +18,25 @@
|
||||
<string name="battlepass_exchange_submit_lock">未解鎖</string>
|
||||
<string name="battlepass_reward_item_lock">暫未達到等級</string>
|
||||
<string name="battlepass_reward_item_get">領取成功</string>
|
||||
|
||||
<string name="activity_feedback_top_title">幫助與反饋</string>
|
||||
<string name="activity_feedback_title">有什麼可以幫到您?</string>
|
||||
<string name="activity_feedback_customer_service">智能客服</string>
|
||||
<string name="activity_feedback_feedback">意見反餽</string>
|
||||
<string name="activity_feedback_success_title">提交成功</string>
|
||||
<string name="activity_feedback_success_tips">感謝您的反饋!</string>
|
||||
<string name="activity_feedback_success_sub">確定</string>
|
||||
<string name="activity_feedback_edit_feedback_top">意見反饋</string>
|
||||
<string name="activity_feedback_edit_feedback_title">問題描述</string>
|
||||
<string name="activity_feedback_edit_feedback_hint">請描述您需要解決的問題</string>
|
||||
<string name="activity_feedback_edit_feedback_img_title">問題圖片</string>
|
||||
<string name="activity_feedback_edit_feedback_ci_title">聯繫方式</string>
|
||||
<string name="activity_feedback_edit_feedback_ci_hint">留下您的電話或郵箱,方便我們與您聯繫</string>
|
||||
<string name="activity_feedback_edit_feedback_btn">提交</string>
|
||||
<string name="activity_feedback_edit_feedback_btn_tips">為必填項</string>
|
||||
<string name="activity_feedback_edit_img_type1_upload">上傳圖片</string>
|
||||
<string name="activity_feedback_edit_img_type2_delete">刪除</string>
|
||||
<string name="activity_feedback_edit_img_type2_change">更換圖片</string>
|
||||
<string name="activity_feedback_edit_submit_tip1">請描述您的問題</string>
|
||||
<string name="activity_feedback_edit_submit_tip2">超過字數要求</string>
|
||||
<string name="activity_feedback_edit_submit_tip3">今日反饋次數已用完</string>
|
||||
</resources>
|
||||
@@ -18,5 +18,25 @@
|
||||
<string name="battlepass_exchange_submit_lock">Unlocked</string>
|
||||
<string name="battlepass_reward_item_lock">Not yet reached level</string>
|
||||
<string name="battlepass_reward_item_get">Successfully claimed</string>
|
||||
|
||||
<string name="activity_feedback_top_title">Help And Feedback</string>
|
||||
<string name="activity_feedback_title">May I Help You?</string>
|
||||
<string name="activity_feedback_customer_service">Intelligent\nCustomer Service</string>
|
||||
<string name="activity_feedback_feedback">Feedback</string>
|
||||
<string name="activity_feedback_success_title">Submitted\nSuccessfully</string>
|
||||
<string name="activity_feedback_success_tips">Thank You For Your Feedback!</string>
|
||||
<string name="activity_feedback_success_sub">Confirm</string>
|
||||
<string name="activity_feedback_edit_feedback_top">Feedback</string>
|
||||
<string name="activity_feedback_edit_feedback_title">Problem Description</string>
|
||||
<string name="activity_feedback_edit_feedback_hint">Please Describe The Problem You Need To See</string>
|
||||
<string name="activity_feedback_edit_feedback_img_title">Problem Pictures</string>
|
||||
<string name="activity_feedback_edit_feedback_ci_title">Contact Information</string>
|
||||
<string name="activity_feedback_edit_feedback_ci_hint">Leave Your Phone Or Email For Us To Contact You</string>
|
||||
<string name="activity_feedback_edit_feedback_btn">Submit</string>
|
||||
<string name="activity_feedback_edit_feedback_btn_tips">required items</string>
|
||||
<string name="activity_feedback_edit_img_type1_upload">Upload images</string>
|
||||
<string name="activity_feedback_edit_img_type2_delete">Delete</string>
|
||||
<string name="activity_feedback_edit_img_type2_change">Replace image</string>
|
||||
<string name="activity_feedback_edit_submit_tip1">Please describe your problem</string>
|
||||
<string name="activity_feedback_edit_submit_tip2">Exceeding the word count requirement</string>
|
||||
<string name="activity_feedback_edit_submit_tip3">Today\'s feedback count has been used up</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user