Commit 970c6223bb831230bd34de74d2da0a0a6206fffa

Authored by 朱显松
2 parents 1dbeaaec c77a0d75

代码整理

app/src/main/java/com/cnlive/gundam/main/ui/fragment/ConfigFragment.java
... ... @@ -9,12 +9,14 @@ import android.view.LayoutInflater;
9 9 import android.view.View;
10 10 import android.view.ViewGroup;
11 11  
  12 +import com.bumptech.glide.Glide;
12 13 import com.cnlive.gundam.R;
13 14 import com.cnlive.gundam.databinding.UserFragmentBinding;
14 15 import com.cnlive.gundam.user.activity.CommentActivity;
15 16 import com.cnlive.gundam.user.activity.LoginActivity;
  17 +import com.cnlive.gundam.user.activity.UserPersonalActivity;
16 18 import com.cnlive.gundam.user.auth.UserService;
17   -
  19 +import com.cnlive.gundam.user.model.User;
18 20  
19 21  
20 22 /**
... ... @@ -28,7 +30,6 @@ public class ConfigFragment extends Fragment implements View.OnClickListener {
28 30 @Override
29 31 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
30 32 binding = DataBindingUtil.inflate(inflater, R.layout.user_fragment, container, false);
31   -
32 33 return binding.getRoot();
33 34 }
34 35  
... ... @@ -39,24 +40,14 @@ public class ConfigFragment extends Fragment implements View.OnClickListener {
39 40 }
40 41  
41 42  
42   - /* public static Fragment newInstance() {
43   - UserFragment fragment = new UserFragment();
44   - return fragment;
45   - }*/
46   -
47 43 @Override
48 44 public void onActivityCreated(Bundle savedInstanceState) {
49 45 super.onActivityCreated(savedInstanceState);
50 46  
51   -
52   - /*initToolBar();
53   - init();
54   - MyHeadItem.getContent(getActivity());*/
55 47 }
56 48  
57 49 private void initUI() {
58 50 binding.configHeader.setOnClickListener(this);
59   - binding.live.setOnClickListener(this);
60 51 binding.message.setOnClickListener(this);
61 52 }
62 53  
... ... @@ -64,28 +55,32 @@ public class ConfigFragment extends Fragment implements View.OnClickListener {
64 55 @Override
65 56 public void onClick(View view) {
66 57 switch (view.getId()) {
67   -
68   -
69 58 case R.id.config_header:
70 59 int uid = UserService.getInstance(getActivity()).getActiveAccountInfo().getUid();
71   - if (uid != 0) {
72   - //进入个人中心页面
73   - //startActivity(new Intent(getActivity(), UserPersonalActivity.class));
74   - } else {
75   - //进入登录页面
  60 + if (uid != 0)
  61 + startActivity(new Intent(getActivity(), UserPersonalActivity.class));
  62 + else
76 63 startActivity(new Intent(getActivity(), LoginActivity.class));
77   - }
78   -
79 64 break;
80   - case R.id.live:
81 65  
82   - break;
83 66 case R.id.message:
84 67 startActivity(new Intent(getActivity(), CommentActivity.class));
85   -
86 68 break;
87 69  
88 70 }
89 71  
90 72 }
  73 +
  74 + @Override
  75 + public void onResume() {
  76 + super.onResume();
  77 + notifyUI();
  78 +
  79 + }
  80 +
  81 + private void notifyUI() {
  82 + User activeAccountInfo = UserService.getInstance(getActivity()).getActiveAccountInfo();
  83 + Glide.with(getActivity()).load(activeAccountInfo.getFaceurl()).into(binding.headImg);
  84 + binding.tvNickname.setText(activeAccountInfo.getNickname());
  85 + }
91 86 }
... ...
app/src/main/java/com/cnlive/gundam/user/fragment/FeedbackFragment.java
... ... @@ -67,7 +67,7 @@ public class FeedbackFragment extends Fragment implements View.OnClickListener {
67 67 public void onClick(View v) {
68 68 int i = v.getId();
69 69 if (i == R.id.back_selector) {//返回上一页面
70   - getFragmentManager().popBackStack();
  70 + getActivity().finish();
71 71  
72 72 } else if (i == R.id.feedback) {
73 73 /**
... ... @@ -94,7 +94,7 @@ public class FeedbackFragment extends Fragment implements View.OnClickListener {
94 94 switch (what) {
95 95 case IUserService.SUCCESS:
96 96 ToastUtil.show(getActivity(), "反馈成功");
97   - getFragmentManager().popBackStack();
  97 + getActivity().finish();
98 98 break;
99 99 case IUserService.ERROR_PARAM:
100 100 ToastUtil.show(getActivity(), IUserService.message_error_param);
... ...
app/src/main/java/com/cnlive/gundam/user/fragment/LoginFragment.java
... ... @@ -155,6 +155,7 @@ public class LoginFragment extends Fragment implements View.OnClickListener {
155 155 closeDialog();
156 156 UserData userData = (UserData) obj;
157 157 data = userData.getData();
  158 +
158 159 UserService userService = UserService.getInstance(getActivity());
159 160 userService.setUserInfo(account, data);
160 161 //userService.isAutoLogin();
... ...
app/src/main/java/com/cnlive/gundam/user/fragment/UserPersonalFragment.java
... ... @@ -49,4 +49,7 @@ public class UserPersonalFragment extends Fragment{
49 49  
50 50  
51 51  
  52 +
  53 +
  54 +
52 55 }
... ...
app/src/main/java/com/cnlive/gundam/user/view/CircleImageView.java 0 → 100644
  1 +package com.cnlive.gundam.user.view;
  2 +
  3 +import android.annotation.SuppressLint;
  4 +import android.content.Context;
  5 +import android.content.res.TypedArray;
  6 +import android.graphics.Bitmap;
  7 +import android.graphics.BitmapShader;
  8 +import android.graphics.Canvas;
  9 +import android.graphics.Color;
  10 +import android.graphics.Matrix;
  11 +import android.graphics.Paint;
  12 +import android.graphics.RectF;
  13 +import android.graphics.Shader;
  14 +import android.graphics.drawable.BitmapDrawable;
  15 +import android.graphics.drawable.ColorDrawable;
  16 +import android.graphics.drawable.Drawable;
  17 +import android.util.AttributeSet;
  18 +import android.widget.ImageView;
  19 +
  20 +import com.cnlive.gundam.R;
  21 +
  22 +
  23 +/**
  24 + * @author 陈硕
  25 + * @time 2016/11/7 10:27
  26 + * @desc ${TODD}
  27 + */
  28 +@SuppressLint("AppCompatCustomView")
  29 +public class CircleImageView extends ImageView {
  30 +
  31 +
  32 + private static final ImageView.ScaleType SCALE_TYPE = ImageView.ScaleType.CENTER_CROP;
  33 +
  34 + private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888;
  35 + private static final int COLORDRAWABLE_DIMENSION = 1;
  36 +
  37 + private static final int DEFAULT_BORDER_WIDTH = 0;
  38 + private static final int DEFAULT_BORDER_COLOR = Color.BLACK;
  39 +
  40 + private final RectF mDrawableRect = new RectF();
  41 + private final RectF mBorderRect = new RectF();
  42 +
  43 + private final Matrix mShaderMatrix = new Matrix();
  44 + private final Paint mBitmapPaint = new Paint();
  45 + private final Paint mBorderPaint = new Paint();
  46 +
  47 + private int mBorderColor = DEFAULT_BORDER_COLOR;
  48 + private int mBorderWidth = DEFAULT_BORDER_WIDTH;
  49 +
  50 + private Bitmap mBitmap;
  51 + private BitmapShader mBitmapShader;
  52 + private int mBitmapWidth;
  53 + private int mBitmapHeight;
  54 +
  55 + private float mDrawableRadius;
  56 + private float mBorderRadius;
  57 +
  58 + private boolean mReady;
  59 + private boolean mSetupPending;
  60 +
  61 + public CircleImageView(Context context) {
  62 + super(context);
  63 + }
  64 +
  65 + public CircleImageView(Context context, AttributeSet attrs) {
  66 + this(context, attrs, 0);
  67 + }
  68 +
  69 + public CircleImageView(Context context, AttributeSet attrs, int defStyle) {
  70 + super(context, attrs, defStyle);
  71 + super.setScaleType(SCALE_TYPE);
  72 +
  73 + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.CircleImageView, defStyle, 0);
  74 +
  75 + mBorderWidth = a.getDimensionPixelSize(R.styleable.CircleImageView_border_width, DEFAULT_BORDER_WIDTH);
  76 + mBorderColor = a.getColor(R.styleable.CircleImageView_border_color, DEFAULT_BORDER_COLOR);
  77 +
  78 + a.recycle();
  79 +
  80 + mReady = true;
  81 +
  82 + if (mSetupPending) {
  83 + setup();
  84 + mSetupPending = false;
  85 + }
  86 + }
  87 +
  88 + @Override
  89 + public ScaleType getScaleType() {
  90 + return SCALE_TYPE;
  91 + }
  92 +
  93 + @Override
  94 + public void setScaleType(ScaleType scaleType) {
  95 + if (scaleType != SCALE_TYPE) {
  96 + throw new IllegalArgumentException(String.format("ScaleType %s not supported.", scaleType));
  97 + }
  98 + }
  99 +
  100 + @Override
  101 + protected void onDraw(Canvas canvas) {
  102 + if (getDrawable() == null) {
  103 + return;
  104 + }
  105 +
  106 + canvas.drawCircle(getWidth() / 2, getHeight() / 2, mDrawableRadius, mBitmapPaint);
  107 + canvas.drawCircle(getWidth() / 2, getHeight() / 2, mBorderRadius, mBorderPaint);
  108 + }
  109 +
  110 + @Override
  111 + protected void onSizeChanged(int w, int h, int oldw, int oldh) {
  112 + super.onSizeChanged(w, h, oldw, oldh);
  113 + setup();
  114 + }
  115 +
  116 + public int getBorderColor() {
  117 + return mBorderColor;
  118 + }
  119 +
  120 + public void setBorderColor(int borderColor) {
  121 + if (borderColor == mBorderColor) {
  122 + return;
  123 + }
  124 +
  125 + mBorderColor = borderColor;
  126 + mBorderPaint.setColor(mBorderColor);
  127 + invalidate();
  128 + }
  129 +
  130 + public int getBorderWidth() {
  131 + return mBorderWidth;
  132 + }
  133 +
  134 + public void setBorderWidth(int borderWidth) {
  135 + if (borderWidth == mBorderWidth) {
  136 + return;
  137 + }
  138 +
  139 + mBorderWidth = borderWidth;
  140 + setup();
  141 + }
  142 +
  143 + @Override
  144 + public void setImageBitmap(Bitmap bm) {
  145 + super.setImageBitmap(bm);
  146 + mBitmap = bm;
  147 + setup();
  148 + }
  149 +
  150 + @Override
  151 + public void setImageDrawable(Drawable drawable) {
  152 + super.setImageDrawable(drawable);
  153 + mBitmap = getBitmapFromDrawable(drawable);
  154 + setup();
  155 + }
  156 +
  157 + @Override
  158 + public void setImageResource(int resId) {
  159 + super.setImageResource(resId);
  160 + mBitmap = getBitmapFromDrawable(getDrawable());
  161 + setup();
  162 + }
  163 +
  164 + private Bitmap getBitmapFromDrawable(Drawable drawable) {
  165 + if (drawable == null) {
  166 + return null;
  167 + }
  168 +
  169 + if (drawable instanceof BitmapDrawable) {
  170 + return ((BitmapDrawable) drawable).getBitmap();
  171 + }
  172 +
  173 + try {
  174 + Bitmap bitmap;
  175 +
  176 + if (drawable instanceof ColorDrawable) {
  177 + bitmap = Bitmap.createBitmap(COLORDRAWABLE_DIMENSION, COLORDRAWABLE_DIMENSION, BITMAP_CONFIG);
  178 + } else {
  179 + bitmap = Bitmap.createBitmap(drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight(), BITMAP_CONFIG);
  180 + }
  181 +
  182 + Canvas canvas = new Canvas(bitmap);
  183 + drawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight());
  184 + drawable.draw(canvas);
  185 + return bitmap;
  186 + } catch (OutOfMemoryError e) {
  187 + return null;
  188 + }
  189 + }
  190 +
  191 + private void setup() {
  192 + if (!mReady) {
  193 + mSetupPending = true;
  194 + return;
  195 + }
  196 +
  197 + if (mBitmap == null) {
  198 + return;
  199 + }
  200 +
  201 + mBitmapShader = new BitmapShader(mBitmap, Shader.TileMode.CLAMP, Shader.TileMode.CLAMP);
  202 +
  203 + mBitmapPaint.setAntiAlias(true);
  204 + mBitmapPaint.setShader(mBitmapShader);
  205 +
  206 + mBorderPaint.setStyle(Paint.Style.STROKE);
  207 + mBorderPaint.setAntiAlias(true);
  208 + mBorderPaint.setColor(mBorderColor);
  209 + mBorderPaint.setStrokeWidth(mBorderWidth);
  210 +
  211 + mBitmapHeight = mBitmap.getHeight();
  212 + mBitmapWidth = mBitmap.getWidth();
  213 +
  214 + mBorderRect.set(0, 0, getWidth(), getHeight());
  215 + mBorderRadius = Math.min((mBorderRect.height() - mBorderWidth) / 2, (mBorderRect.width() - mBorderWidth) / 2);
  216 +
  217 + mDrawableRect.set(mBorderWidth, mBorderWidth, mBorderRect.width() - mBorderWidth, mBorderRect.height() - mBorderWidth);
  218 + mDrawableRadius = Math.min(mDrawableRect.height() / 2, mDrawableRect.width() / 2);
  219 +
  220 + updateShaderMatrix();
  221 + invalidate();
  222 + }
  223 +
  224 + private void updateShaderMatrix() {
  225 + float scale;
  226 + float dx = 0;
  227 + float dy = 0;
  228 +
  229 + mShaderMatrix.set(null);
  230 +
  231 + if (mBitmapWidth * mDrawableRect.height() > mDrawableRect.width() * mBitmapHeight) {
  232 + scale = mDrawableRect.height() / (float) mBitmapHeight;
  233 + dx = (mDrawableRect.width() - mBitmapWidth * scale) * 0.5f;
  234 + } else {
  235 + scale = mDrawableRect.width() / (float) mBitmapWidth;
  236 + dy = (mDrawableRect.height() - mBitmapHeight * scale) * 0.5f;
  237 + }
  238 +
  239 + mShaderMatrix.setScale(scale, scale);
  240 + mShaderMatrix.postTranslate((int) (dx + 0.5f) + mBorderWidth, (int) (dy + 0.5f) + mBorderWidth);
  241 +
  242 + mBitmapShader.setLocalMatrix(mShaderMatrix);
  243 + }
  244 +
  245 +}
  246 +
  247 +
... ...
app/src/main/res/layout/user_feedback.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2   -<layout xmlns:android="http://schemas.android.com/apk/res/android">
  2 +<layout xmlns:android="http://schemas.android.com/apk/res/android"
  3 + >
3 4  
4 5  
5   - <RelativeLayout
6   - android:layout_width="match_parent"
7   - android:layout_height="match_parent">
8 6  
9   - <LinearLayout
10   - android:layout_width="match_parent"
11   - android:layout_height="wrap_content"
12   - android:orientation="vertical">
  7 +<RelativeLayout
  8 + android:layout_width="match_parent"
  9 + android:layout_height="match_parent">
  10 +
  11 +<LinearLayout
  12 + android:orientation="vertical" android:layout_width="match_parent"
  13 + android:layout_height="wrap_content">
13 14  
14   - <include
15   - android:id="@+id/feedbackIncludeLayout"
16   - layout="@layout/user_toolbar_title" />
  15 + <include layout="@layout/user_toolbar_title"
  16 + android:id="@+id/feedbackIncludeLayout"/>
17 17  
18   - <include layout="@layout/user_divider_head_line" />
  18 + <include layout="@layout/user_divider_head_line" />
19 19  
20   - <View
21   - android:layout_width="match_parent"
22   - android:layout_height="@dimen/_20px" />
  20 + <View
  21 + android:layout_width="match_parent"
  22 + android:layout_height="@dimen/_20px" />
23 23  
24   - <EditText
25   - android:id="@+id/feedback_textView"
26   - android:layout_width="match_parent"
27   - android:layout_height="wrap_content"
28   - android:layout_centerVertical="true"
29   - android:layout_marginLeft="@dimen/_30px"
30   - android:background="@null"
31   - android:hint="有什么好的建议嘛"
32   - android:imeOptions="flagNoExtractUi"
33   - android:textColor="#000000"
34   - android:textColorHint="@color/color_list_bg"
35   - android:textSize="@dimen/text_size_15" />
  24 + <EditText
  25 + android:id="@+id/feedback_textView"
  26 + android:layout_width="match_parent"
  27 + android:layout_height="wrap_content"
  28 + android:paddingTop="@dimen/_20px"
  29 + android:paddingBottom="@dimen/_20px"
  30 + android:layout_centerVertical="true"
  31 + android:layout_marginLeft="@dimen/_30px"
  32 + android:background="@null"
  33 + android:hint="有什么好的建议嘛"
  34 + android:textColor="#000000"
  35 + android:textColorHint="@color/color_list_bg"
  36 + android:textSize="@dimen/text_size_15"
  37 + android:imeOptions="flagNoExtractUi" />
36 38  
37   - <View
38   - android:layout_width="match_parent"
39   - android:layout_height="@dimen/_100px" />
  39 + <View
  40 + android:layout_width="match_parent"
  41 + android:layout_height="@dimen/_100px" />
40 42  
41   - <Button
42   - android:id="@+id/feedback"
43   - style="@style/LoginButtonStyle"
44   - android:layout_width="match_parent"
45   - android:layout_height="35dp"
46   - android:layout_alignParentBottom="true"
47   - android:layout_centerHorizontal="true"
48   - android:layout_gravity="center"
49   - android:layout_marginBottom="15dp"
50   - android:background="@drawable/user_btn_login"
51   - android:gravity="center"
52   - android:onClick="onClick"
53   - android:text="提交" />
  43 + <Button
  44 + android:id="@+id/feedback"
  45 + style="@style/LoginButtonStyle"
  46 + android:layout_width="match_parent"
  47 + android:layout_height="35dp"
  48 + android:layout_gravity="center"
  49 + android:layout_centerHorizontal="true"
  50 + android:layout_marginBottom="15dp"
  51 + android:layout_alignParentBottom="true"
  52 + android:background="@drawable/user_btn_login"
  53 + android:gravity="center"
  54 + android:onClick="onClick"
  55 + android:text="提交" />
54 56  
55   - </LinearLayout>
  57 +</LinearLayout>
56 58  
57   - <ImageView
58   - android:id="@+id/back_selector"
59   - android:layout_width="30dp"
60   - android:layout_height="30dp"
61   - android:layout_marginLeft="@dimen/_10px"
62   - android:layout_marginTop="@dimen/_20px"
63   - android:onClick="onClick"
64   - android:src="@drawable/btn_return" />
  59 + <ImageView
  60 + android:id="@+id/back_selector"
  61 + android:layout_width="30dp"
  62 + android:layout_height="30dp"
  63 + android:layout_marginLeft="@dimen/_10px"
  64 + android:layout_marginTop="@dimen/_20px"
  65 + android:onClick="onClick"
  66 + android:src="@drawable/btn_return" />
65 67  
66 68 </RelativeLayout>
67 69  
68   -</layout>
69 70 \ No newline at end of file
  71 + </layout>
70 72 \ No newline at end of file
... ...
app/src/main/res/layout/user_fragment.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2  
3   -<layout xmlns:android="http://schemas.android.com/apk/res/android">
  3 +<layout xmlns:android="http://schemas.android.com/apk/res/android"
  4 + >
4 5  
5 6 <LinearLayout
6 7 android:layout_width="match_parent"
... ... @@ -9,36 +10,40 @@
9 10  
10 11 <RelativeLayout
11 12 android:layout_width="match_parent"
12   - android:layout_height="100dp">
13   -
  13 + android:layout_height="150dp"
  14 + >
14 15 <TextView
15 16 android:layout_width="wrap_content"
16 17 android:layout_height="wrap_content"
17 18 android:layout_centerInParent="true"
  19 + android:singleLine="true"
18 20 android:text="我的"
19   - android:textSize="@dimen/_30px" />
  21 + android:textColor="@color/config_black_color"
  22 + android:textSize="22sp"
  23 + />
20 24  
21 25  
22 26 </RelativeLayout>
23   -
24 27 <View
25 28 android:layout_width="match_parent"
  29 + android:layout_marginBottom="@dimen/_20px"
26 30 android:layout_height="1px"
27 31 android:background="@color/gray_line_color" />
28 32  
29 33  
30 34 <RelativeLayout
31 35 android:id="@+id/config_header"
32   - style="@style/list_item_style"
33 36 android:layout_width="fill_parent"
34 37 android:layout_height="85dp"
35   - android:gravity="center_vertical">
  38 + android:gravity="center_vertical"
  39 + style="@style/list_item_style">
36 40  
37   - <ImageView
  41 + <com.cnlive.gundam.user.view.CircleImageView
38 42 android:id="@+id/head_img"
39 43 android:layout_width="55dip"
40 44 android:layout_height="55dip"
41 45 android:layout_centerVertical="true"
  46 + android:src="@drawable/cnlive_user_header"
42 47 android:layout_marginLeft="11dp"
43 48 android:layout_marginRight="16dp" />
44 49  
... ... @@ -46,9 +51,9 @@
46 51 android:layout_width="wrap_content"
47 52 android:layout_height="wrap_content"
48 53 android:layout_centerVertical="true"
49   - android:layout_toLeftOf="@+id/next"
50 54 android:layout_toRightOf="@+id/head_img"
51   - android:orientation="vertical">
  55 + android:orientation="vertical"
  56 + android:layout_toLeftOf="@+id/next">
52 57  
53 58 <TextView
54 59 android:id="@+id/tv_nickname"
... ... @@ -61,14 +66,6 @@
61 66 android:textColor="@color/config_black_color"
62 67 android:textSize="17sp" />
63 68  
64   - <TextView
65   - android:id="@+id/point"
66   - android:layout_width="wrap_content"
67   - android:layout_height="wrap_content"
68   - android:layout_margin="3dp"
69   - android:text="@string/login_china_coin"
70   - android:textColor="@color/config_gray_color"
71   - android:textSize="12sp" />
72 69 </LinearLayout>
73 70  
74 71 <ImageView
... ... @@ -83,53 +80,49 @@
83 80 </RelativeLayout>
84 81  
85 82  
86   - <RelativeLayout
87   - android:id="@+id/live"
88   - style="@style/list_item_style"
89   - android:layout_width="match_parent"
90   - android:layout_height="30dp">
91 83  
92   - <ImageView
93   - android:id="@+id/ic_config_history"
94   - android:layout_width="20dp"
95   - android:layout_height="20dp"
96   - android:layout_centerVertical="true"
97   - android:src="@drawable/ic_config_history" />
98 84  
99   - <TextView
100   - android:layout_width="wrap_content"
101   - android:layout_height="wrap_content"
102   - android:layout_centerVertical="true"
103   - android:layout_marginLeft="20dp"
104   - android:layout_toRightOf="@+id/ic_config_history"
105   - android:text="我要直播" />
106   - </RelativeLayout>
107 85  
108 86 <View
109 87 android:layout_width="match_parent"
110 88 android:layout_height="1px"
111 89 android:background="@color/gray_line_color" />
112   -
113 90 <RelativeLayout
114   - android:id="@+id/message"
115   - style="@style/list_item_style"
116 91 android:layout_width="match_parent"
117   - android:layout_height="30dp">
  92 + android:layout_height="50dp"
  93 + android:layout_marginTop="@dimen/_20px"
  94 + android:id="@+id/message"
  95 + style="@style/list_item_style">
118 96  
119 97 <ImageView
120   - android:id="@+id/ic_setting_opinion"
121   - android:layout_width="20dp"
122   - android:layout_height="20dp"
  98 + android:layout_width="30dp"
  99 + android:layout_height="30dp"
  100 + android:layout_marginLeft="@dimen/_20px"
123 101 android:layout_centerVertical="true"
124   - android:src="@drawable/ic_setting_opinion" />
125   -
  102 + android:id="@+id/ic_setting_opinion"
  103 + android:src="@drawable/ic_setting_opinion"/>
126 104 <TextView
127 105 android:layout_width="wrap_content"
128 106 android:layout_height="wrap_content"
129 107 android:layout_centerVertical="true"
130   - android:layout_marginLeft="20dp"
131 108 android:layout_toRightOf="@+id/ic_setting_opinion"
132   - android:text="意见反馈" />
  109 + android:gravity="center_vertical"
  110 + android:singleLine="true"
  111 + android:text="意见反馈"
  112 + android:textColor="@color/config_black_color"
  113 + android:layout_marginLeft="30dp"
  114 + android:textSize="17sp"/>
  115 +
  116 +
  117 + <ImageView
  118 + android:id="@+id/imv_message"
  119 + android:layout_width="@dimen/next_image_width"
  120 + android:layout_height="@dimen/next_image_height"
  121 + android:layout_alignParentRight="true"
  122 + android:layout_centerVertical="true"
  123 + android:layout_marginRight="@dimen/next_image_margin_right"
  124 + android:contentDescription="@null"
  125 + android:src="@drawable/btn_channel_more" />
133 126  
134 127 </RelativeLayout>
135 128  
... ...
user/src/main/res/drawable-hdpi/cnlive_user_header.png 0 → 100644

6.29 KB

user/src/main/res/values/attrs.xml 0 → 100644
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<resources>
  3 + <declare-styleable name="CircleImageView">
  4 + <attr name="border_width" format="dimension" />
  5 + <attr name="border_color" format="color" />
  6 + </declare-styleable>
  7 +</resources>
0 8 \ No newline at end of file
... ...