Bladeren bron

评论列表开发

huyuguo 5 jaren geleden
bovenliggende
commit
f748bbe347

+ 18 - 6
app/src/main/java/com/electric/chargingpile/activity/ChatContentListActivity.java

2
2
3
import android.content.BroadcastReceiver;
3
import android.content.BroadcastReceiver;
4
import android.content.Intent;
4
import android.content.Intent;
5
import android.graphics.Color;
5
import android.os.Handler;
6
import android.os.Handler;
6
import android.os.Message;
7
import android.os.Message;
7
import android.support.annotation.Nullable;
8
import android.support.annotation.Nullable;
34
import com.electric.chargingpile.data.ChatRecommendBean;
35
import com.electric.chargingpile.data.ChatRecommendBean;
35
import com.electric.chargingpile.data.TopicDetailBeanLab;
36
import com.electric.chargingpile.data.TopicDetailBeanLab;
36
import com.electric.chargingpile.data.UserPageBeanLab;
37
import com.electric.chargingpile.data.UserPageBeanLab;
38
import com.electric.chargingpile.fragment.ChatContentCommentListDialogFragment;
37
import com.electric.chargingpile.fragment.ChatPhotoFragment;
39
import com.electric.chargingpile.fragment.ChatPhotoFragment;
38
import com.electric.chargingpile.fragment.CommonDialogFragment;
40
import com.electric.chargingpile.fragment.CommonDialogFragment;
39
import com.electric.chargingpile.iview.ChatVerticalViewPager;
41
import com.electric.chargingpile.iview.ChatVerticalViewPager;
232
    public class ChatContentAdapter extends FragmentStatePagerAdapter {
234
    public class ChatContentAdapter extends FragmentStatePagerAdapter {
233
235
234
        public Map<String, ChatContentFragment> map = new HashMap<>();
236
        public Map<String, ChatContentFragment> map = new HashMap<>();
237
        private FragmentManager fm;
235
        private Handler handler;
238
        private Handler handler;
236
239
237
        public ChatContentAdapter(FragmentManager fm, Handler handler) {
240
        public ChatContentAdapter(FragmentManager fm, Handler handler) {
238
            super(fm);
241
            super(fm);
242
            this.fm = fm;
239
            this.handler = handler;
243
            this.handler = handler;
240
        }
244
        }
241
245
242
        @Override
246
        @Override
243
        public android.support.v4.app.Fragment getItem(int i) {
247
        public android.support.v4.app.Fragment getItem(int i) {
244
            ChatContentFragment fragment = ChatContentFragment.newInstance(i, from);
248
            ChatContentFragment fragment = ChatContentFragment.newInstance(i, from);
249
            fragment.fm = fm;
245
            fragment.handler = handler;
250
            fragment.handler = handler;
246
            map.put(i + "", fragment);
251
            map.put(i + "", fragment);
247
            return fragment;
252
            return fragment;
262
267
263
268
264
    public static class ChatContentFragment extends Fragment implements View.OnClickListener {
269
    public static class ChatContentFragment extends Fragment implements View.OnClickListener {
270
        private FragmentManager fm;
265
        private Handler handler;
271
        private Handler handler;
266
        private static final String ARG_INDEX = "index";
272
        private static final String ARG_INDEX = "index";
267
        private static final String ARG_FROM = "from";
273
        private static final String ARG_FROM = "from";
293
        private List<ChatPhotoFragment> chatPhotoFragments;
299
        private List<ChatPhotoFragment> chatPhotoFragments;
294
        private ChatPhotoFragmentPagerAdapter chatPhotoFragmentPagerAdapter;
300
        private ChatPhotoFragmentPagerAdapter chatPhotoFragmentPagerAdapter;
295
        private TextView bCommentContent;
301
        private TextView bCommentContent;
302
        private TextView bPublish;
296
303
297
        public static ChatContentFragment newInstance(int index, String from) {
304
        public static ChatContentFragment newInstance(int index, String from) {
298
            ChatContentFragment fragment = new ChatContentFragment();
305
            ChatContentFragment fragment = new ChatContentFragment();
451
                    break;
458
                    break;
452
                case R.id.writeComment: // 评论列表
459
                case R.id.writeComment: // 评论列表
453
                case R.id.comment:
460
                case R.id.comment:
454
                    setViewPagerScroll(false);
455
                    allCommentsContainer.setVisibility(View.VISIBLE);
461
//                    bean.commentNums
462
                    //setViewPagerScroll(false);
463
                    //allCommentsContainer.setVisibility(View.VISIBLE);
464
                    ChatContentCommentListDialogFragment dialogFragment = ChatContentCommentListDialogFragment.newInstance(bean);
465
                    dialogFragment.show(getChildFragmentManager(), "评论列表");
456
                    break;
466
                    break;
457
                case R.id.allCommentsClose: // 关闭评论
467
                case R.id.allCommentsClose: // 关闭评论
458
                case R.id.allCommentsContainer:
468
                case R.id.allCommentsContainer:
467
                        @Override
477
                        @Override
468
                        public void updateComment(String comment) {
478
                        public void updateComment(String comment) {
469
                            bCommentContent.setText(comment);
479
                            bCommentContent.setText(comment);
480
                            if (comment.length() > 0) {
481
                                bPublish.setTextColor(Color.parseColor("#00EDB2"));
482
                            } else {
483
                                bPublish.setTextColor(Color.parseColor("#7e7e7e"));
484
                            }
470
                        }
485
                        }
471
486
472
                        @Override
487
                        @Override
473
                        public void publish() {
488
                        public void publish() {
474
                            Log.d(TAG, "publish: xxxxxxxxxxxxxx");
489
                            Log.d(TAG, "publish: xxxxxxxxxxxxxx");
475
476
                        }
490
                        }
477
                    });
491
                    });
478
                    break;
492
                    break;
511
            allCommentsContainer = rootView.findViewById(R.id.allCommentsContainer);
525
            allCommentsContainer = rootView.findViewById(R.id.allCommentsContainer);
512
            allComments = rootView.findViewById(R.id.allComments);
526
            allComments = rootView.findViewById(R.id.allComments);
513
            bCommentContent = rootView.findViewById(R.id.bCommentContent);
527
            bCommentContent = rootView.findViewById(R.id.bCommentContent);
528
            bPublish = rootView.findViewById(R.id.bPublish);
514
529
515
            ConstraintLayout.LayoutParams statusBarParams = (ConstraintLayout.LayoutParams) statusBar.getLayoutParams();
530
            ConstraintLayout.LayoutParams statusBarParams = (ConstraintLayout.LayoutParams) statusBar.getLayoutParams();
516
            statusBarParams.height = statusBarHeight;
531
            statusBarParams.height = statusBarHeight;
565
580
566
            topicTitle.setMaxWidth(screenWidth - DensityUtil.dip2px(getContext(), 100));
581
            topicTitle.setMaxWidth(screenWidth - DensityUtil.dip2px(getContext(), 100));
567
582
568
            msg.setText("都是老款附件是打开了附近看落地时间付款了的设计费考虑到司法鉴定所可是大家放开了世纪东方可是大家开飞机圣诞快乐风骚的收到了快捷方式迪克辣鸡福克斯第六届逢狼时刻大嫁风尚了会计师的反馈了十多斤狂蜂浪蝶涉及开发了十多斤圣诞快乐附件是大立科技发");
569
            topicTitle.setText("打扫房间莱克斯顿及反馈了十多斤放开了时代峻峰看电视剧范德萨看来酒发牢骚的sfsdsdfdsf");
570
571
            if (bean.commentNums == 0) {
583
            if (bean.commentNums == 0) {
572
                commentNumber.setText("");
584
                commentNumber.setText("");
573
            } else {
585
            } else {

+ 57 - 0
app/src/main/java/com/electric/chargingpile/fragment/ChatContentCommentListDialogFragment.java

1
package com.electric.chargingpile.fragment;
2
3
import android.app.Dialog;
4
import android.os.Bundle;
5
import android.support.annotation.NonNull;
6
import android.support.annotation.Nullable;
7
import android.support.v4.app.DialogFragment;
8
import android.view.Gravity;
9
import android.view.LayoutInflater;
10
import android.view.View;
11
import android.view.ViewGroup;
12
import android.view.Window;
13
import android.view.WindowManager;
14
15
import com.electric.chargingpile.R;
16
import com.electric.chargingpile.data.ChatRecommendBean;
17
18
public class ChatContentCommentListDialogFragment extends DialogFragment {
19
    private static final String ARG_BEAN = "bean";
20
    private ChatRecommendBean bean;
21
22
    public static ChatContentCommentListDialogFragment newInstance(ChatRecommendBean bean) {
23
        Bundle args = new Bundle();
24
        args.putSerializable(ARG_BEAN, bean);
25
        ChatContentCommentListDialogFragment dialogFragment = new ChatContentCommentListDialogFragment();
26
        dialogFragment.setArguments(args);
27
        return dialogFragment;
28
    }
29
30
    @NonNull
31
    @Override
32
    public Dialog onCreateDialog(Bundle savedInstanceState) {
33
        Dialog dialog = new Dialog(getActivity(), R.style.BottomDialog);
34
        // 外部点击设置为可取消
35
        dialog.setCancelable(true);
36
        dialog.setCanceledOnTouchOutside(true);
37
38
        dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
39
        dialog.setContentView(R.layout.fragment_chat_content_comment_list);
40
41
        Window window = dialog.getWindow();
42
        WindowManager.LayoutParams layoutParams = window.getAttributes();
43
        // 布局属性位于整个窗口底部
44
        layoutParams.gravity = Gravity.BOTTOM;
45
        // 布局属性宽度填充整个窗口,默认是有margin的
46
        layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
47
        window.setAttributes(layoutParams);
48
49
        initDialog(dialog);
50
        return dialog;
51
    }
52
53
54
    private void initDialog(Dialog dialog) {
55
        bean = (ChatRecommendBean) getArguments().getSerializable(ARG_BEAN);
56
    }
57
}

+ 1 - 7
app/src/main/java/com/electric/chargingpile/fragment/ChatPhotoFragment.java

3
import android.os.Bundle;
3
import android.os.Bundle;
4
import android.support.annotation.Nullable;
4
import android.support.annotation.Nullable;
5
import android.support.v4.app.Fragment;
5
import android.support.v4.app.Fragment;
6
import android.util.Log;
7
import android.view.GestureDetector;
8
import android.view.LayoutInflater;
6
import android.view.LayoutInflater;
9
import android.view.MotionEvent;
10
import android.view.View;
7
import android.view.View;
11
import android.view.ViewGroup;
8
import android.view.ViewGroup;
12
import android.widget.ImageView;
13
9
14
import com.electric.chargingpile.R;
10
import com.electric.chargingpile.R;
15
import com.electric.chargingpile.util.CircleTransform;
16
import com.electric.chargingpile.util.ImageDisplayUtils;
17
import com.github.chrisbanes.photoview.PhotoView;
11
import com.github.chrisbanes.photoview.PhotoView;
18
import com.squareup.picasso.Picasso;
12
import com.squareup.picasso.Picasso;
19
13
68
62
69
    private void initView(View rootView, String url) {
63
    private void initView(View rootView, String url) {
70
        photoView = rootView.findViewById(R.id.photoView);
64
        photoView = rootView.findViewById(R.id.photoView);
71
//        ImageDisplayUtils.dispalyImg(getContext(), url, photoView);
65
72
        Picasso.with(getContext()).load(url).placeholder(R.drawable.photo_loading_icon).error(R.drawable.photo_loading_icon).into(photoView);
66
        Picasso.with(getContext()).load(url).placeholder(R.drawable.photo_loading_icon).error(R.drawable.photo_loading_icon).into(photoView);
73
    }
67
    }
74
}
68
}

+ 58 - 20
app/src/main/java/com/electric/chargingpile/fragment/CommonDialogFragment.java

3
import android.app.Dialog;
3
import android.app.Dialog;
4
import android.graphics.Color;
4
import android.graphics.Color;
5
import android.os.Bundle;
5
import android.os.Bundle;
6
import android.support.constraint.ConstraintLayout;
6
import android.support.v4.app.DialogFragment;
7
import android.support.v4.app.DialogFragment;
7
import android.text.Editable;
8
import android.text.Editable;
8
import android.text.TextWatcher;
9
import android.text.TextWatcher;
13
import android.view.WindowManager;
14
import android.view.WindowManager;
14
import android.view.inputmethod.InputMethodManager;
15
import android.view.inputmethod.InputMethodManager;
15
import android.widget.EditText;
16
import android.widget.EditText;
17
import android.widget.ImageView;
16
import android.widget.TextView;
18
import android.widget.TextView;
17
19
18
import com.electric.chargingpile.R;
20
import com.electric.chargingpile.R;
19
import com.electric.chargingpile.iview.SoftKeyBoardListener;
21
import com.electric.chargingpile.iview.SoftKeyBoardListener;
22
import com.electric.chargingpile.util.DensityUtil;
20
23
21
public class CommonDialogFragment extends DialogFragment implements View.OnClickListener {
24
public class CommonDialogFragment extends DialogFragment {
22
    private static final String TAG = "CommonDialogFragment";
25
    private static final String TAG = "CommonDialogFragment";
23
    private static final String ARG_COMMENT = "comment";
26
    private static final String ARG_COMMENT = "comment";
24
    private Dialog dialogFragment;
27
    private Dialog dialogFragment;
25
    private EditText editText;
28
    private EditText editText;
26
    private TextView send;
29
    private TextView send;
27
    public OnCommonDialogFragmentListener commonDialogFragmentListener;
30
    public OnCommonDialogFragmentListener commonDialogFragmentListener;
31
    private ImageView dialogIcon;
32
    private ConstraintLayout countInfo;
33
    private TextView count;
28
34
29
    public static CommonDialogFragment newInstance(String comment) {
35
    public static CommonDialogFragment newInstance(String comment) {
30
        CommonDialogFragment dialogFragment = new CommonDialogFragment();
36
        CommonDialogFragment dialogFragment = new CommonDialogFragment();
54
        layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
60
        layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
55
        window.setAttributes(layoutParams);
61
        window.setAttributes(layoutParams);
56
62
63
        countInfo = dialogFragment.findViewById(R.id.countInfo);
64
        count = dialogFragment.findViewById(R.id.count);
65
        dialogIcon = dialogFragment.findViewById(R.id.dialogIcon);
57
        editText = dialogFragment.findViewById(R.id.dialogEdit);
66
        editText = dialogFragment.findViewById(R.id.dialogEdit);
67
        send = dialogFragment.findViewById(R.id.dialogPublish);
68
58
        editText.setText(comment);
69
        editText.setText(comment);
59
        editText.setSelection(comment.length());
70
        editText.setSelection(comment.length());
71
72
        updateView(comment);
73
74
        send.setOnClickListener(new View.OnClickListener() {
75
            @Override
76
            public void onClick(View view) {
77
                if (commonDialogFragmentListener != null && editText.getText().toString().trim().length() > 0) {
78
                    dismiss();
79
                    commonDialogFragmentListener.publish();
80
                }
81
            }
82
        });
83
60
        editText.addTextChangedListener(new TextWatcher() {
84
        editText.addTextChangedListener(new TextWatcher() {
61
            @Override
85
            @Override
62
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
86
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
65
            @Override
89
            @Override
66
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
90
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
67
                String comment = charSequence.toString().trim();
91
                String comment = charSequence.toString().trim();
68
                if (comment.length() > 0) {
69
                    send.setTextColor(Color.parseColor("#00EDB2"));
70
                } else {
71
                    send.setTextColor(Color.parseColor("#7e7e7e"));
92
                if (comment.length() > 200) {
93
                    comment = comment.substring(0, 200);
94
                    editText.setText(comment);
95
                    editText.setSelection(comment.length());
72
                }
96
                }
97
                updateView(comment);
73
                if (commonDialogFragmentListener != null) {
98
                if (commonDialogFragmentListener != null) {
74
                    commonDialogFragmentListener.updateComment(comment);
99
                    commonDialogFragmentListener.updateComment(comment);
75
                }
100
                }
80
105
81
            }
106
            }
82
        });
107
        });
83
        send = dialogFragment.findViewById(R.id.dialogPublish);
84
        send.setOnClickListener(this);
85
108
86
        //打开软键盘
87
        InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(getContext().INPUT_METHOD_SERVICE);
109
        // 键盘打开隐藏监听
110
        InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(getContext().INPUT_METHOD_SERVICE);
88
        imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
111
        imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
89
90
91
        SoftKeyBoardListener.setListener(getActivity(), new SoftKeyBoardListener.OnSoftKeyBoardChangeListener() {
112
        SoftKeyBoardListener.setListener(getActivity(), new SoftKeyBoardListener.OnSoftKeyBoardChangeListener() {
92
            @Override
113
            @Override
93
            public void keyBoardShow(int height) {
114
            public void keyBoardShow(int height) {
102
        return dialogFragment;
123
        return dialogFragment;
103
    }
124
    }
104
125
105
    @Override
106
    public void onClick(View view) {
107
        switch (view.getId()) {
108
            case R.id.dialogPublish:
109
                if (commonDialogFragmentListener != null && editText.getText().toString().trim().length() > 0) {
110
                    dismiss();
111
                    commonDialogFragmentListener.publish();
112
                }
113
                break;
126
127
    private void updateView(String comment) {
128
        ConstraintLayout.LayoutParams editParams = (ConstraintLayout.LayoutParams) editText.getLayoutParams();
129
130
        if (comment.length() > 0) {
131
            dialogIcon.setVisibility(View.GONE);
132
            send.setTextColor(Color.parseColor("#00EDB2"));
133
134
            countInfo.setVisibility(View.VISIBLE);
135
            editParams.bottomMargin = DensityUtil.dip2px(getContext(), 20);
136
        } else {
137
            dialogIcon.setVisibility(View.VISIBLE);
138
            send.setTextColor(Color.parseColor("#7e7e7e"));
139
140
            countInfo.setVisibility(View.GONE);
141
            editParams.bottomMargin = DensityUtil.dip2px(getContext(), 0);
114
        }
142
        }
143
144
        if (comment.length() == 200) {
145
            count.setTextColor(Color.parseColor("#FF5858"));
146
        } else {
147
            count.setTextColor(Color.parseColor("#ffffff"));
148
        }
149
150
        count.setText(comment.length() + "");
151
        editText.setLayoutParams(editParams);
115
    }
152
    }
116
153
117
    public interface OnCommonDialogFragmentListener {
154
    public interface OnCommonDialogFragmentListener {
118
        void updateComment(String comment);
155
        void updateComment(String comment);
156
119
        void publish();
157
        void publish();
120
    }
158
    }
121
159

+ 2 - 0
app/src/main/res/layout/fragment_chat_content_comment_list.xml

5
    xmlns:tools="http://schemas.android.com/tools"
5
    xmlns:tools="http://schemas.android.com/tools"
6
    android:layout_width="match_parent"
6
    android:layout_width="match_parent"
7
    android:layout_height="match_parent"
7
    android:layout_height="match_parent"
8
    android:background="#ff00ff"
8
    tools:background="#68b8be">
9
    tools:background="#68b8be">
9
10
10
    <android.support.constraint.ConstraintLayout
11
    <android.support.constraint.ConstraintLayout
83
                    android:layout_height="wrap_content"
84
                    android:layout_height="wrap_content"
84
                    android:ellipsize="end"
85
                    android:ellipsize="end"
85
                    android:gravity="center_vertical"
86
                    android:gravity="center_vertical"
87
                    android:paddingLeft="5dp"
86
                    android:hint="写评论"
88
                    android:hint="写评论"
87
                    android:maxLines="1"
89
                    android:maxLines="1"
88
                    android:textColor="#ffffff"
90
                    android:textColor="#ffffff"

+ 5 - 0
app/src/main/res/layout/fragment_chat_content_pictures.xml

366
    <include
366
    <include
367
        layout="@layout/fragment_chat_content_comment_list"
367
        layout="@layout/fragment_chat_content_comment_list"
368
        android:visibility="gone" />
368
        android:visibility="gone" />
369
    <FrameLayout
370
        android:id="@+id/fragment_container"
371
        android:layout_width="match_parent"
372
        android:layout_height="match_parent">
373
    </FrameLayout>
369
</android.support.constraint.ConstraintLayout>
374
</android.support.constraint.ConstraintLayout>

+ 5 - 0
app/src/main/res/layout/fragment_chat_content_video.xml

382
    <include
382
    <include
383
        layout="@layout/fragment_chat_content_comment_list"
383
        layout="@layout/fragment_chat_content_comment_list"
384
        android:visibility="gone" />
384
        android:visibility="gone" />
385
    <FrameLayout
386
        android:id="@+id/fragment_container"
387
        android:layout_width="match_parent"
388
        android:layout_height="match_parent">
389
    </FrameLayout>
385
</android.support.constraint.ConstraintLayout>
390
</android.support.constraint.ConstraintLayout>

+ 51 - 9
app/src/main/res/layout/fragment_common_dialog.xml

3
    xmlns:app="http://schemas.android.com/apk/res-auto"
3
    xmlns:app="http://schemas.android.com/apk/res-auto"
4
    xmlns:tools="http://schemas.android.com/tools"
4
    xmlns:tools="http://schemas.android.com/tools"
5
    android:layout_width="match_parent"
5
    android:layout_width="match_parent"
6
    android:background="#00f00f"
7
    android:layout_height="match_parent">
6
    android:layout_height="match_parent">
8
7
9
    <!-- 底部评论输入及发布 -->
8
    <!-- 底部评论输入及发布 -->
12
        android:layout_height="wrap_content"
11
        android:layout_height="wrap_content"
13
        android:background="#535353"
12
        android:background="#535353"
14
        android:minHeight="54dp"
13
        android:minHeight="54dp"
14
        android:paddingTop="12dp"
15
        android:paddingBottom="12dp"
15
        app:layout_constraintBottom_toBottomOf="parent"
16
        app:layout_constraintBottom_toBottomOf="parent"
16
        app:layout_constraintEnd_toEndOf="parent"
17
        app:layout_constraintEnd_toEndOf="parent"
17
        app:layout_constraintStart_toStartOf="parent">
18
        app:layout_constraintStart_toStartOf="parent">
19
        <android.support.constraint.ConstraintLayout
20
        <android.support.constraint.ConstraintLayout
20
            android:id="@+id/bWriteComment"
21
            android:id="@+id/bWriteComment"
21
            android:layout_width="0dp"
22
            android:layout_width="0dp"
22
            android:layout_height="30dp"
23
            android:layout_height="wrap_content"
23
            android:layout_marginLeft="15dp"
24
            android:layout_marginLeft="15dp"
24
            android:background="@drawable/bg_comment_shape"
25
            android:background="@drawable/bg_comment_shape"
26
            android:minHeight="30dp"
27
            android:paddingTop="5dp"
28
            android:paddingBottom="5dp"
25
            app:layout_constraintBottom_toBottomOf="parent"
29
            app:layout_constraintBottom_toBottomOf="parent"
26
            app:layout_constraintLeft_toLeftOf="parent"
30
            app:layout_constraintLeft_toLeftOf="parent"
27
            app:layout_constraintRight_toLeftOf="@+id/dialogPublish"
31
            app:layout_constraintRight_toLeftOf="@+id/dialogPublish"
32
                android:layout_width="wrap_content"
36
                android:layout_width="wrap_content"
33
                android:layout_height="wrap_content"
37
                android:layout_height="wrap_content"
34
                android:layout_marginStart="15dp"
38
                android:layout_marginStart="15dp"
35
                android:paddingRight="5dp"
36
                app:layout_constraintBottom_toBottomOf="parent"
39
                app:layout_constraintBottom_toBottomOf="parent"
37
                app:layout_constraintStart_toStartOf="parent"
40
                app:layout_constraintStart_toStartOf="parent"
38
                app:layout_constraintTop_toTopOf="parent"
41
                app:layout_constraintTop_toTopOf="parent"
40
43
41
            <EditText
44
            <EditText
42
                android:id="@+id/dialogEdit"
45
                android:id="@+id/dialogEdit"
43
                android:background="@null"
44
                android:layout_width="0dp"
46
                android:layout_width="0dp"
45
                android:layout_height="wrap_content"
47
                android:layout_height="wrap_content"
48
                android:background="@null"
49
                android:fadeScrollbars="false"
50
                android:gravity="start|top"
46
                android:hint="优质评论会被优先展示"
51
                android:hint="优质评论会被优先展示"
52
                android:inputType="textMultiLine"
53
                android:maxLines="3"
54
                android:paddingLeft="8dp"
55
                android:paddingRight="5dp"
56
                android:scrollbarStyle="outsideOverlay"
57
                android:scrollbars="vertical"
47
                android:textColor="#ffffff"
58
                android:textColor="#ffffff"
48
                android:textColorHint="#7e7e7e"
59
                android:textColorHint="#7e7e7e"
49
                android:textSize="14sp"
60
                android:textSize="14sp"
50
                app:layout_constraintBottom_toBottomOf="parent"
61
                app:layout_constraintBottom_toBottomOf="parent"
51
                app:layout_constraintRight_toRightOf="parent"
52
                app:layout_constraintLeft_toRightOf="@+id/dialogIcon"
62
                app:layout_constraintLeft_toRightOf="@+id/dialogIcon"
63
                app:layout_constraintRight_toRightOf="parent"
53
                app:layout_constraintTop_toTopOf="parent" />
64
                app:layout_constraintTop_toTopOf="parent" />
65
66
            <android.support.constraint.ConstraintLayout
67
                android:id="@+id/countInfo"
68
                android:layout_width="wrap_content"
69
                android:layout_height="wrap_content"
70
                android:layout_marginRight="10dp"
71
                android:visibility="gone"
72
                app:layout_constraintBottom_toBottomOf="parent"
73
                app:layout_constraintRight_toRightOf="parent">
74
75
                <TextView
76
                    android:id="@+id/count"
77
                    android:layout_width="wrap_content"
78
                    android:layout_height="wrap_content"
79
                    android:textColor="#ffffff"
80
                    android:textSize="12sp"
81
                    app:layout_constraintBottom_toBottomOf="parent"
82
                    app:layout_constraintLeft_toLeftOf="parent"
83
                    app:layout_constraintTop_toTopOf="parent"
84
                    tools:text="22" />
85
86
                <TextView
87
                    android:layout_width="wrap_content"
88
                    android:layout_height="wrap_content"
89
                    android:text="/200"
90
                    android:textColor="#ffffff"
91
                    android:textSize="12sp"
92
                    app:layout_constraintBottom_toBottomOf="parent"
93
                    app:layout_constraintLeft_toRightOf="@+id/count"
94
                    app:layout_constraintRight_toRightOf="parent"
95
                    app:layout_constraintTop_toTopOf="parent" />
96
            </android.support.constraint.ConstraintLayout>
54
        </android.support.constraint.ConstraintLayout>
97
        </android.support.constraint.ConstraintLayout>
55
98
56
        <TextView
99
        <TextView
57
            android:id="@+id/dialogPublish"
100
            android:id="@+id/dialogPublish"
58
            android:layout_width="wrap_content"
101
            android:layout_width="wrap_content"
59
            android:layout_height="0dp"
102
            android:layout_height="wrap_content"
60
            android:gravity="center_vertical"
103
            android:gravity="center_vertical"
104
            android:minHeight="30dp"
61
            android:paddingLeft="13dp"
105
            android:paddingLeft="13dp"
62
            android:paddingRight="15dp"
106
            android:paddingRight="15dp"
63
            android:text="发布"
107
            android:text="发布"
65
            android:textSize="14sp"
109
            android:textSize="14sp"
66
            app:layout_constraintBottom_toBottomOf="parent"
110
            app:layout_constraintBottom_toBottomOf="parent"
67
            app:layout_constraintRight_toRightOf="parent"
111
            app:layout_constraintRight_toRightOf="parent"
68
            app:layout_constraintTop_toTopOf="parent"
69
            tools:layout_editor_absoluteX="348dp"
70
            tools:layout_editor_absoluteY="19dp" />
112
            app:layout_constraintTop_toTopOf="parent" />
71
    </android.support.constraint.ConstraintLayout>
113
    </android.support.constraint.ConstraintLayout>
72
114
73
</android.support.constraint.ConstraintLayout>
115
</android.support.constraint.ConstraintLayout>