Commit 2c96431743010723361b92fa7d292084b655dd46

Authored by 陶汉栋
1 parent d8f68cd8

no message

.idea/modules.xml
... ... @@ -4,8 +4,8 @@
4 4 <modules>
5 5 <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
6 6 <module fileurl="file://$PROJECT_DIR$/mvpsdk/mvpsdk.iml" filepath="$PROJECT_DIR$/mvpsdk/mvpsdk.iml" />
7   - <module fileurl="file://$PROJECT_DIR$/parentWorkHolper.iml" filepath="$PROJECT_DIR$/parentWorkHolper.iml" />
8 7 <module fileurl="file://E:\parentwork\parentWorkHolper.iml" filepath="E:\parentwork\parentWorkHolper.iml" />
  8 + <module fileurl="file://$PROJECT_DIR$/parentwork.iml" filepath="$PROJECT_DIR$/parentwork.iml" />
9 9 <module fileurl="file://F:\parentWorkHolper\parentwork.iml" filepath="F:\parentWorkHolper\parentwork.iml" />
10 10 <module fileurl="file://$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" filepath="$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" />
11 11 </modules>
... ...
app/src/main/java/com/shunzhi/parent/bean/ToolBean.java
... ... @@ -5,17 +5,17 @@ import java.io.Serializable;
5 5 /**
6 6 * Created by ToaHanDong on 2018/3/14.
7 7 * toolId (integer, optional): 工具ID ,
8   - toolName (string, optional): 工具名称 ,
9   - toolImage (string, optional): 工具图片 ,
10   - toolUrl (string, optional): 工具链接 ,
11   - orderById (integer, optional): 工具排序
  8 + * toolName (string, optional): 工具名称 ,
  9 + * toolImage (string, optional): 工具图片 ,
  10 + * toolUrl (string, optional): 工具链接 ,
  11 + * orderById (integer, optional): 工具排序
12 12 */
13 13  
14 14 public class ToolBean implements Serializable {
15 15  
16   - public ToolBean(String toolImg,String toolName){
17   - this.toolImage=toolImg;
18   - this.toolName=toolName;
  16 + public ToolBean(String toolImg, String toolName) {
  17 + this.toolImage = toolImg;
  18 + this.toolName = toolName;
19 19 }
20 20  
21 21  
... ... @@ -25,7 +25,11 @@ public class ToolBean implements Serializable {
25 25  
26 26 public String toolUrl;
27 27  
  28 + public String toolId;
28 29  
  30 + public String columnType;
  31 +
  32 + public String orderById;
29 33  
30 34 @Override
31 35 public String toString() {
... ...
app/src/main/java/com/shunzhi/parent/contract/ceping/CepingContract.java
... ... @@ -31,7 +31,7 @@ public interface CepingContract {
31 31  
32 32 interface ICePingView extends IBaseFragment{
33 33  
34   - void showTools();
  34 + void showTools(List<ToolBean> toolBeanList);
35 35  
36 36 }
37 37  
... ...
app/src/main/java/com/shunzhi/parent/presenter/ceping/CePingPresenter.java
... ... @@ -14,6 +14,9 @@ import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
14 14 import com.shunzhi.parent.util.AttrsUtils;
15 15 import com.shunzhi.parent.views.TextAndImgShowView;
16 16  
  17 +import java.util.ArrayList;
  18 +import java.util.List;
  19 +
17 20 import io.reactivex.functions.Consumer;
18 21  
19 22 /**
... ... @@ -41,26 +44,32 @@ public class CePingPresenter extends CepingContract.CePingPresenter {
41 44 if (jsonObject.get("status").getAsString().equals("1")){
42 45 JsonArray jsonArray=jsonObject.getAsJsonArray("data");
43 46 layout_control.removeAllViews();
  47 + List<ToolBean> toolBeanList=new ArrayList<>();
44 48 for (int i = 0; i < jsonArray.size(); i++) {
45 49 ToolBean toolBean=new Gson().fromJson(jsonArray.get(i).getAsJsonObject(),ToolBean.class);
46   - TextAndImgShowView textAndImgShowView=new TextAndImgShowView(mIView.getBindActivity());
47   - textAndImgShowView.setTextColor(R.color.textColor);
48   - textAndImgShowView.setText(toolBean.toolName);
49   - textAndImgShowView.addImgs(toolBean.toolImage);
50   - textAndImgShowView.setSelect(true);
51   - textAndImgShowView.setWidth(mIView.getBindActivity(),layout_control);
52   - textAndImgShowView.setBackground(AttrsUtils.getAttrs(mIView.getBindActivity()).getDrawable(0));
53   - textAndImgShowView.setTag(toolBean);
54   - textAndImgShowView.setOnClickListener(new View.OnClickListener() {
55   - @Override
56   - public void onClick(View view) {
57   - ToolBean toolBean1= (ToolBean) view.getTag();
58   - WebViewActivity.getInstance(mIView.getBindActivity(),toolBean1.toolUrl,-1);
59   - }
60   - });
61   - layout_control.addView(textAndImgShowView);
62   - mIView.showTools();
  50 + if (toolBean.columnType.equals("2")){
  51 + TextAndImgShowView textAndImgShowView=new TextAndImgShowView(mIView.getBindActivity());
  52 + textAndImgShowView.setTextColor(R.color.textColor);
  53 + textAndImgShowView.setText(toolBean.toolName);
  54 + textAndImgShowView.addImgs(toolBean.toolImage);
  55 + textAndImgShowView.setSelect(true);
  56 + textAndImgShowView.setWidth(mIView.getBindActivity(),layout_control);
  57 + textAndImgShowView.setBackground(AttrsUtils.getAttrs(mIView.getBindActivity()).getDrawable(0));
  58 + textAndImgShowView.setTag(toolBean);
  59 + textAndImgShowView.setOnClickListener(new View.OnClickListener() {
  60 + @Override
  61 + public void onClick(View view) {
  62 + ToolBean toolBean1= (ToolBean) view.getTag();
  63 + WebViewActivity.getInstance(mIView.getBindActivity(),toolBean1.toolUrl,-1);
  64 + }
  65 + });
  66 + layout_control.addView(textAndImgShowView);
  67 + } else if (toolBean.columnType.equals("1")){
  68 + //活动
  69 + toolBeanList.add(toolBean);
  70 + }
63 71 }
  72 + mIView.showTools(toolBeanList);
64 73 }else {
65 74  
66 75 }
... ...
app/src/main/java/com/shunzhi/parent/ui/activity/mywebview/WebViewActivity.java
... ... @@ -133,6 +133,7 @@ public class WebViewActivity extends BaseCompatActivity {
133 133 nesteScrollWebView.setWebViewClient(new WebViewClient() {
134 134 @Override
135 135 public boolean shouldOverrideUrlLoading(WebView view, String url) {
  136 + Log.d("666666","url="+url);
136 137 if (url.startsWith("http"))view.loadUrl(url);
137 138 // if (url.contains("platformapi/startapp")) {
138 139 // startAlipayActivity(url);
... ... @@ -158,6 +159,8 @@ public class WebViewActivity extends BaseCompatActivity {
158 159  
159 160 @Override
160 161 public void onPageStarted(WebView view, String url, Bitmap favicon) {
  162 +// Log.d("666666","onPageStartedurl="+url);
  163 + if (url.startsWith("http"))view.loadUrl(url);
161 164 view.getSettings().setJavaScriptEnabled(true);
162 165 super.onPageStarted(view, url, favicon);
163 166 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/CePingFragment.java
... ... @@ -14,36 +14,39 @@ import android.widget.ImageView;
14 14 import android.widget.LinearLayout;
15 15 import android.widget.TextView;
16 16  
  17 +import com.bumptech.glide.Glide;
17 18 import com.share.mvpsdk.base.BasePresenter;
18 19 import com.share.mvpsdk.base.fragment.BaseMVPCompatFragment;
19 20 import com.share.mvpsdk.utils.ToastUtils;
20 21 import com.shunzhi.parent.AppContext;
21 22 import com.shunzhi.parent.R;
  23 +import com.shunzhi.parent.bean.ToolBean;
22 24 import com.shunzhi.parent.contract.ceping.CepingContract;
23 25 import com.shunzhi.parent.presenter.ceping.CePingPresenter;
24 26 import com.shunzhi.parent.ui.activity.MyChildActivity;
  27 +import com.shunzhi.parent.ui.activity.mywebview.WebViewActivity;
25 28 import com.shunzhi.parent.views.TextAndImgShowView;
26 29  
  30 +import java.util.List;
  31 +
27 32 import me.leefeng.citypicker.CityPicker;
28 33 import me.leefeng.citypicker.CityPickerListener;
29 34  
30 35  
31   -public class CePingFragment extends BaseMVPCompatFragment<CepingContract.CePingPresenter,CepingContract.ICePingModel> implements CepingContract.ICePingView
32   - ,View.OnClickListener,CityPickerListener{
33   -
34   - TextView tvLocalAddress;
  36 +public class CePingFragment extends BaseMVPCompatFragment<CepingContract.CePingPresenter, CepingContract.ICePingModel> implements CepingContract.ICePingView
  37 + , View.OnClickListener, CityPickerListener {
35 38  
36   - ImageView ivCamera;
  39 + TextView tvLocalAddress, tvCourse1, tvCourse2, tvCourse3;
37 40  
38   - TextAndImgShowView textAndImg_xqjc,textAndImg_zxlx;
  41 + ImageView ivCamera, ivCourse1, ivCourse2, ivCourse3;
39 42  
40   - FrameLayout frame_hot1;
  43 + TextAndImgShowView textAndImg_xqjc, textAndImg_zxlx;
41 44  
42 45 FloatingActionButton floatingActionButton;
43 46  
44 47 LinearLayout layout_control;
45 48  
46   - CityPicker cityPicker=null;
  49 + CityPicker cityPicker = null;
47 50  
48 51 @Override
49 52 public int getLayoutId() {
... ... @@ -53,25 +56,30 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
53 56 @Override
54 57 public void initUI(View view, @Nullable Bundle savedInstanceState) {
55 58  
56   - ivCamera=view.findViewById(R.id.ivCamera);
57   - tvLocalAddress=view.findViewById(R.id.tvLocalAddress);
58   - textAndImg_xqjc=view.findViewById(R.id.textAndImg_xqjc);
59   - textAndImg_zxlx=view.findViewById(R.id.textAndImg_zxlx);
60   - frame_hot1=view.findViewById(R.id.frame_hot1);
61   - layout_control=view.findViewById(R.id.layout_control);
62   - floatingActionButton=view.findViewById(R.id.floatingActionButton);
  59 + ivCamera = view.findViewById(R.id.ivCamera);
  60 + tvLocalAddress = view.findViewById(R.id.tvLocalAddress);
  61 + textAndImg_xqjc = view.findViewById(R.id.textAndImg_xqjc);
  62 + textAndImg_zxlx = view.findViewById(R.id.textAndImg_zxlx);
  63 + layout_control = view.findViewById(R.id.layout_control);
  64 + floatingActionButton = view.findViewById(R.id.floatingActionButton);
  65 + tvCourse1 = view.findViewById(R.id.tvCourse1);
  66 + tvCourse2 = view.findViewById(R.id.tvCourse2);
  67 + tvCourse3 = view.findViewById(R.id.tvCourse3);
  68 + ivCourse1 = view.findViewById(R.id.ivCourse1);
  69 + ivCourse2 = view.findViewById(R.id.ivCourse2);
  70 + ivCourse3 = view.findViewById(R.id.ivCourse3);
63 71  
64 72 addTools();
65 73  
66 74 tvLocalAddress.setText(AppContext.getInstance().cityName);
67 75 textAndImg_xqjc.setTextColor(R.color.white);
68 76 textAndImg_xqjc.setText("学情检测");
69   - textAndImg_xqjc.setImgs(R.drawable.xqjc,R.drawable.xqjc);
  77 + textAndImg_xqjc.setImgs(R.drawable.xqjc, R.drawable.xqjc);
70 78 textAndImg_xqjc.setSelect(true);
71 79  
72 80 textAndImg_zxlx.setText("专项训练");
73 81 textAndImg_zxlx.setTextColor(R.color.white);
74   - textAndImg_zxlx.setImgs(R.drawable.zxlx,R.drawable.zxlx);
  82 + textAndImg_zxlx.setImgs(R.drawable.zxlx, R.drawable.zxlx);
75 83 textAndImg_zxlx.setSelect(true);
76 84  
77 85 initListeners(view);
... ... @@ -81,17 +89,11 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
81 89 startActivity(new Intent().setClass(getActivity(), MyChildActivity.class));
82 90 }
83 91 });
84   -// floatingActionButton.setOnClickListeners(new DragFloatActionButton.OnClickListeners() {
85   -// @Override
86   -// public void onClicks() {
87   -// ToastUtils.showToast("dfafdaf");
88   -// }
89   -// });
90 92 }
91 93  
92 94 private void addTools() {
93   - layout_control.measure(0,0);
94   - mPresenter.getTools(layout_control,AppContext.getInstance().district);
  95 + layout_control.measure(0, 0);
  96 + mPresenter.getTools(layout_control, AppContext.getInstance().district);
95 97  
96 98 }
97 99  
... ... @@ -112,9 +114,9 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
112 114  
113 115 private void initBroadCast() {
114 116  
115   - IntentFilter intentFilter=new IntentFilter();
116   - intentFilter.addAction(AppContext.LOCATION_CITYNAME+"");
117   - getActivity().registerReceiver(broadcastReceiver,intentFilter);
  117 + IntentFilter intentFilter = new IntentFilter();
  118 + intentFilter.addAction(AppContext.LOCATION_CITYNAME + "");
  119 + getActivity().registerReceiver(broadcastReceiver, intentFilter);
118 120  
119 121 }
120 122  
... ... @@ -127,20 +129,23 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
127 129  
128 130 @Override
129 131 public void onClick(View view) {
130   - switch (view.getId()){
  132 + switch (view.getId()) {
131 133 case R.id.frame_hot1://热门课程
132   - ToastUtils.showToast("remen1");
  134 + if (tvCourse1.getTag()!=null)
  135 + WebViewActivity.getInstance(getActivity(),tvCourse1.getTag().toString(),-1);
133 136 break;
134 137 case R.id.frame_hot2:
135   - ToastUtils.showToast("remen2");
  138 + if (tvCourse2.getTag()!=null)
  139 + WebViewActivity.getInstance(getActivity(),tvCourse2.getTag().toString(),-1);
136 140 break;
137 141 case R.id.frame_hot3:
138   - ToastUtils.showToast("remen3");
  142 + if (tvCourse3.getTag()!=null)
  143 + WebViewActivity.getInstance(getActivity(),tvCourse3.getTag().toString(),-1);
139 144 break;
140 145 case R.id.tvLocalAddress:
141 146 // AppContext.getInstance().startLocation();
142   - if (null==cityPicker)cityPicker=new CityPicker(getActivity(),this);
143   - if (cityPicker.isShow())cityPicker.close();
  147 + if (null == cityPicker) cityPicker = new CityPicker(getActivity(), this);
  148 + if (cityPicker.isShow()) cityPicker.close();
144 149 else cityPicker.show();
145 150 break;
146 151 case R.id.ivCamera:
... ... @@ -149,10 +154,10 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
149 154 }
150 155 }
151 156  
152   - private BroadcastReceiver broadcastReceiver=new BroadcastReceiver() {
  157 + private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
153 158 @Override
154 159 public void onReceive(Context context, Intent intent) {
155   - if (intent.getAction().equals(AppContext.LOCATION_CITYNAME+"")){
  160 + if (intent.getAction().equals(AppContext.LOCATION_CITYNAME + "")) {
156 161 tvLocalAddress.setText(AppContext.getInstance().cityName);
157 162 }
158 163 }
... ... @@ -161,19 +166,31 @@ public class CePingFragment extends BaseMVPCompatFragment&lt;CepingContract.CePingP
161 166 @Override
162 167 public void onDestroy() {
163 168 super.onDestroy();
164   - if (null!=broadcastReceiver)getActivity().unregisterReceiver(broadcastReceiver);
165   - if (null!=cityPicker)cityPicker.cancle();
  169 + if (null != broadcastReceiver) getActivity().unregisterReceiver(broadcastReceiver);
  170 + if (null != cityPicker) cityPicker.cancle();
166 171 }
167 172  
168 173 @Override
169 174 public void getCity(String name) {
170 175 tvLocalAddress.setText(name.split(" ")[1]);
171   - mPresenter.getTools(layout_control,name.split(" ")[2]);
  176 + mPresenter.getTools(layout_control, name.split(" ")[2]);
172 177 ToastUtils.showToast(name.split(" ")[2]);
173 178 }
174 179  
175 180 @Override
176   - public void showTools() {
177   -
  181 + public void showTools(List<ToolBean> toolBeanList) {
  182 + if (toolBeanList.size() == 1) {
  183 + tvCourse1.setText(toolBeanList.get(0).toolName);
  184 + Glide.with(getActivity()).load(toolBeanList.get(0).toolImage).into(ivCourse1);
  185 + tvCourse1.setTag(toolBeanList.get(0).toolUrl);
  186 + } else if (toolBeanList.size() == 2) {
  187 + tvCourse2.setText(toolBeanList.get(1).toolName);
  188 + Glide.with(getActivity()).load(toolBeanList.get(1).toolImage).into(ivCourse1);
  189 + tvCourse2.setTag(toolBeanList.get(1).toolUrl);
  190 + } else if (toolBeanList.size() == 3) {
  191 + tvCourse3.setText(toolBeanList.get(2).toolName);
  192 + Glide.with(getActivity()).load(toolBeanList.get(2).toolImage).into(ivCourse1);
  193 + tvCourse3.setTag(toolBeanList.get(2).toolUrl);
  194 + }
178 195 }
179 196 }
... ...
app/src/main/java/com/shunzhi/parent/ui/fragment/MineFragment.java
... ... @@ -30,7 +30,7 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
30 30 implements MineContract.IMineView, View.OnClickListener {
31 31 LinearLayout childlayout, personinfo, layout_orderDetail, layout_order;
32 32 RoundedImageView user_photo;
33   - TextView user_name, user_mobile;
  33 + TextView user_name, user_mobile, tvExit;
34 34  
35 35 @NonNull
36 36 @Override
... ... @@ -56,6 +56,8 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
56 56 user_photo = view.findViewById(R.id.user_photo);
57 57 user_name = view.findViewById(R.id.user_name);
58 58 user_mobile = view.findViewById(R.id.user_mobile);
  59 + tvExit = view.findViewById(R.id.tvExit);
  60 + tvExit.setOnClickListener(this);
59 61  
60 62 }
61 63  
... ... @@ -97,15 +99,25 @@ public class MineFragment extends BaseMVPCompatFragment&lt;LoginAndRegisterContract
97 99 Bundle bundle = new Bundle();
98 100 bundle.putString("url", AppConfig.BASE_URL_ORDER + "ParentOrderCenter.aspx?userid=" +
99 101 AppConfig.getAppConfig(getContext()).get(AppConfig.USER_ID));
100   - bundle.putInt("type",AppConfig.ORDER_CENTER);
  102 + bundle.putInt("type", AppConfig.ORDER_CENTER);
101 103 startNewActivity(WebViewActivity.class, bundle);
102 104 break;
  105 + case R.id.tvExit:
  106 + clearUerinfo();
  107 + break;
103 108 default:
104 109 break;
105 110 }
106 111  
107 112 }
108 113  
  114 + private void clearUerinfo() {
  115 + AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_IMAGE, "");
  116 + AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_NAME, "");
  117 + AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_NAME, "");
  118 + setPersonInfo();
  119 + }
  120 +
109 121 @Override
110 122 public void onResume() {
111 123 super.onResume();
... ...
app/src/main/res/layout/fragment_ce_ping.xml
... ... @@ -164,8 +164,15 @@
164 164 android:layout_height="match_parent"
165 165 android:layout_marginRight="@dimen/size_dp_5"
166 166 android:layout_weight="1"
  167 + android:onClick="onClick"
167 168 android:background="@drawable/shape_xueqing_radius8">
168   -
  169 + <ImageView
  170 + android:layout_margin="@dimen/size_dp_8"
  171 + android:layout_width="match_parent"
  172 + android:layout_height="match_parent"
  173 + android:scaleType="fitXY"
  174 + android:id="@+id/ivCourse1"
  175 + />
169 176 <LinearLayout
170 177 android:layout_width="wrap_content"
171 178 android:layout_height="wrap_content"
... ... @@ -175,6 +182,7 @@
175 182 android:orientation="vertical">
176 183  
177 184 <TextView
  185 + android:id="@+id/tvCourse1"
178 186 android:layout_width="wrap_content"
179 187 android:layout_height="wrap_content"
180 188 android:text="热门课程"
... ... @@ -209,8 +217,15 @@
209 217 android:layout_marginBottom="@dimen/size_dp_5"
210 218 android:layout_marginRight="@dimen/size_dp_5"
211 219 android:layout_weight="1"
  220 + android:onClick="onClick"
212 221 android:background="@drawable/shape_xueqing_radius8">
213   -
  222 + <ImageView
  223 + android:layout_margin="@dimen/size_dp_8"
  224 + android:layout_width="match_parent"
  225 + android:layout_height="match_parent"
  226 + android:scaleType="fitXY"
  227 + android:id="@+id/ivCourse2"
  228 + />
214 229 <LinearLayout
215 230 android:layout_width="wrap_content"
216 231 android:layout_height="wrap_content"
... ... @@ -220,6 +235,7 @@
220 235 android:orientation="vertical">
221 236  
222 237 <TextView
  238 + android:id="@+id/tvCourse2"
223 239 android:layout_width="wrap_content"
224 240 android:layout_height="wrap_content"
225 241 android:text="热门课程"
... ... @@ -247,8 +263,15 @@
247 263 android:layout_marginRight="@dimen/size_dp_5"
248 264 android:layout_marginTop="@dimen/size_dp_5"
249 265 android:layout_weight="1"
  266 + android:onClick="onClick"
250 267 android:background="@drawable/shape_xueqing_radius8">
251   -
  268 + <ImageView
  269 + android:layout_margin="@dimen/size_dp_8"
  270 + android:layout_width="match_parent"
  271 + android:layout_height="match_parent"
  272 + android:scaleType="fitXY"
  273 + android:id="@+id/ivCourse3"
  274 + />
252 275 <LinearLayout
253 276 android:layout_width="wrap_content"
254 277 android:layout_height="wrap_content"
... ... @@ -258,6 +281,7 @@
258 281 android:orientation="vertical">
259 282  
260 283 <TextView
  284 + android:id="@+id/tvCourse3"
261 285 android:layout_width="wrap_content"
262 286 android:layout_height="wrap_content"
263 287 android:text="热门课程"
... ...
app/src/main/res/layout/fragment_mine.xml
... ... @@ -320,7 +320,21 @@
320 320 </LinearLayout>
321 321 </LinearLayout>
322 322  
323   -
  323 + <TextView
  324 + android:id="@+id/tvExit"
  325 + android:layout_width="match_parent"
  326 + android:layout_height="wrap_content"
  327 + android:layout_gravity="center_vertical"
  328 + android:gravity="center"
  329 + android:layout_weight="1"
  330 + android:layout_marginTop="@dimen/size_dp_15"
  331 + android:layout_marginBottom="@dimen/size_dp_15"
  332 + android:paddingTop="@dimen/size_dp_5"
  333 + android:paddingBottom="@dimen/size_dp_5"
  334 + android:background="@drawable/shape_xueqing_radius8"
  335 + android:text="退出登录"
  336 + android:textColor="@color/white"
  337 + android:textSize="@dimen/size_dp_16" />
324 338  
325 339 </LinearLayout>
326 340 </ScrollView>
... ...