修改帮助反馈的UI

This commit is contained in:
2024-04-24 17:48:21 +08:00
parent d4d191fad6
commit 34e4765e13
10 changed files with 765 additions and 286 deletions

View File

@@ -2,8 +2,11 @@ package com.yunbao.main.activity;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.yunbao.common.activity.AbsActivity;
import com.yunbao.common.bean.HttpCallbackModel;
import com.yunbao.common.http.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
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;
@@ -41,7 +44,23 @@ public class FeedbackActivity extends AbsActivity {
@Override
public void onViewClicks() {
//TODO 意见反馈
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_EDIT_ACTIVITY);
LiveNetManager.get(mContext)
.checkFeedback(new com.yunbao.common.http.base.HttpCallback<HttpCallbackModel>() {
@Override
public void onSuccess(HttpCallbackModel data) {
if (data.getCode() == 0) {
RouteUtil.forwardActivity(RouteUtil.PATH_FEEDBACK_EDIT_ACTIVITY);
} else {
ToastUtil.show(R.string.activity_feedback_edit_submit_tip3);
}
}
@Override
public void onError(String error) {
ToastUtil.show(error);
}
});
}
});
}

View File

@@ -16,6 +16,7 @@ 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.dialog.ImagePreviewDialog;
import com.yunbao.common.glide.ImgLoader;
import com.yunbao.common.http.base.HttpCallback;
import com.yunbao.common.http.live.LiveNetManager;
@@ -42,6 +43,8 @@ public class FeedbackEditActivity extends AbsActivity {
ProcessImageUtil imageUtil;
Dialog loadingDialog = null;
int clickImage = 0;
View img1Layout, img2Layout, img3Layout;
View img1Del, img2Del, img3Del;
@Override
protected int getLayoutId() {
@@ -79,100 +82,84 @@ public class FeedbackEditActivity extends AbsActivity {
}
});
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(img1, () -> {
clickImage = 101;
if (img1.getTag() == null) {
uploadImage(img1);
} else {
showImage(img1);
}
});
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(img2, () -> {
clickImage = 201;
if (img2.getTag() == null) {
uploadImage(img2);
} else {
showImage(img2);
}
});
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(img3, () -> {
clickImage = 301;
if (img3.getTag() == null) {
uploadImage(img3);
} else {
showImage(img3);
}
});
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);
}
ViewClicksAntiShake.clicksAntiShake(img1Del, () -> {
deleteImage(1);
});
ViewClicksAntiShake.clicksAntiShake(img2Del, () -> {
deleteImage(2);
});
ViewClicksAntiShake.clicksAntiShake(img3Del, () -> {
deleteImage(3);
});
ViewClicksAntiShake.clicksAntiShake(submit, () -> {
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;
}
img1.setOnLongClickListener(view -> {
ToastUtil.show("1");
return true;
});
img2.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
ToastUtil.show("2");
return true;
}
img2.setOnLongClickListener(view -> {
ToastUtil.show("2");
return true;
});
img3.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
ToastUtil.show("3");
return true;
}
img3.setOnLongClickListener(view -> {
ToastUtil.show("3");
return true;
});
imageUtil.setImageResultCallback(new ImageResultCallback() {
@@ -190,29 +177,23 @@ public class FeedbackEditActivity extends AbsActivity {
switch (clickImage) {
case 101:
case 112:
ImgLoader.display(mContext, bean, img1);
img1.setTag(bean);
setShowImage(img1,img1Del,bean);
if (img2.getTag() == null) {
img2.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
img2.setVisibility(View.VISIBLE);
setDefImage(img2, img2Del, img2Layout);
} else if (img3.getTag() == null) {
img3.setVisibility(View.VISIBLE);
img3.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
setDefImage(img3, img3Del, img3Layout);
}
break;
case 201:
case 212:
ImgLoader.display(mContext, bean, img2);
img2.setTag(bean);
setShowImage(img2,img2Del,bean);
if (img3.getTag() == null) {
img3.setVisibility(View.VISIBLE);
img3.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
setDefImage(img3, img3Del, img3Layout);
}
break;
case 301:
case 312:
ImgLoader.display(mContext, bean, img3);
img3.setTag(bean);
setShowImage(img3,img3Del,bean);
break;
}
}
@@ -230,6 +211,22 @@ public class FeedbackEditActivity extends AbsActivity {
});
}
private void showImage(ImageView iv) {
ImagePreviewDialog dialog = new ImagePreviewDialog();
dialog.setImageInfo(1, 1, false, new ImagePreviewDialog.ActionListener() {
@Override
public void loadImage(ImageView imageView, int position) {
ImgLoader.display(mContext, (String) iv.getTag(), imageView);
}
@Override
public void onDeleteClick(int position) {
}
});
}
private void showUploadImage(SparseArray<String> list) {
DialogUitl.showStringArrayDialog(mContext, list, new DialogUitl.StringArrayDialogCallback() {
@Override
@@ -286,41 +283,50 @@ public class FeedbackEditActivity extends AbsActivity {
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);
setDefImage(img3, img3Del, img3Layout);
} else {
img2.setTag(null);
img2.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
img3.setTag(null);
img3.setVisibility(View.GONE);
setDefImage(img2, img2Del, img2Layout);
setGoneImage(img3, img3Del, img3Layout);
}
} 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);
setDefImage(img1, img1Del, img1Layout);
setGoneImage(img2, img2Del, img2Layout);
setGoneImage(img3, img3Del, img3Layout);
}
} 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);
setDefImage(img3, img3Del, img3Layout);
} else {
img2.setTag(null);
img2.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
img3.setTag(null);
img3.setVisibility(View.GONE);
setDefImage(img2, img2Del, img2Layout);
setGoneImage(img3, img3Del, img3Layout);
}
} else if (index == 3) {
img3.setTag(null);
img3.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
setDefImage(img3, img3Del, img3Layout);
}
}
private void setDefImage(ImageView iv, View ivDel, View ivLayout) {
iv.setTag(null);
ivDel.setVisibility(View.GONE);
iv.setImageResource(R.mipmap.icon_activity_feedback_edit_img_add);
ivLayout.setVisibility(View.VISIBLE);
}
private void setGoneImage(ImageView iv, View ivDel, View ivLayout) {
iv.setTag(null);
ivDel.setVisibility(View.GONE);
ivLayout.setVisibility(View.GONE);
}
private void setShowImage(ImageView iv, View ivDel, String url) {
iv.setTag(url);
ImgLoader.display(mContext, url, iv);
ivDel.setVisibility(View.VISIBLE);
}
private void changeImage(ImageView imageView) {
uploadImage(imageView);
}
@@ -344,6 +350,12 @@ public class FeedbackEditActivity extends AbsActivity {
img1 = findViewById(R.id.img1);
img2 = findViewById(R.id.img2);
img3 = findViewById(R.id.img3);
img1Layout = findViewById(R.id.img1Layout);
img2Layout = findViewById(R.id.img2Layout);
img3Layout = findViewById(R.id.img3Layout);
img1Del = findViewById(R.id.img1_del);
img2Del = findViewById(R.id.img2_del);
img3Del = findViewById(R.id.img3_del);
submit = findViewById(R.id.btn_sub);
editNumber = findViewById(R.id.tv_number);
editNumber.setTextColor(Color.parseColor("#333333"));

View File

@@ -1,198 +1,258 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<ScrollView 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" />
android:background="#FFFFFF">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="15dp"
android:gravity="center"
android:orientation="horizontal">
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
<include
android:id="@+id/include4"
layout="@layout/view_title" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/activity_feedback_edit_feedback_title"
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:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="/500"
android:textColor="#333333" />
</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" />
<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:id="@+id/imgLayout"
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">
android:layout_marginStart="15dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
<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"
/>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/img1Layout"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_marginEnd="10dp">
<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" />
<ImageView
android:id="@+id/img1"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/icon_activity_feedback_edit_img_add"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/img1_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_feedback_edit_image_del"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/img2Layout"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_marginEnd="10dp"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/img2"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/icon_activity_feedback_edit_img_add"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/img2_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_feedback_edit_image_del"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/img3Layout"
android:layout_width="105dp"
android:layout_height="105dp"
android:layout_marginEnd="10dp"
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/img3"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/icon_activity_feedback_edit_img_add"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<ImageView
android:id="@+id/img3_del"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/ic_feedback_edit_image_del"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:visibility="visible" />
</androidx.constraintlayout.widget.ConstraintLayout>
</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_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/activity_feedback_edit_feedback_btn_tips"
android:textColor="#777777"
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" />
<TextView
<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_weight="1"
android:text="*"
android:textColor="#FF5656"
android:textSize="11sp" />
</LinearLayout>
android:layout_gravity="center"
android:layout_marginTop="11dp"
android:layout_marginBottom="130dp"
android:gravity="center"
android:orientation="horizontal">
</LinearLayout>
<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>
</ScrollView>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB