Commit cadc1d8f90958c9e001b7debffe3763a1f7c7c68
1 parent
e3db4ced
新增资源
Showing
11 changed files
with
671 additions
and
0 deletions
C5/app/src/main/java/com/sunvote/xpadapp/fragments/ResultElectionCustomFragment.java
0 → 100644
| 1 | +package com.sunvote.xpadapp.fragments; | |
| 2 | + | |
| 3 | +import android.annotation.SuppressLint; | |
| 4 | +import android.app.FragmentManager; | |
| 5 | +import android.app.FragmentTransaction; | |
| 6 | +import android.content.Context; | |
| 7 | +import android.graphics.Color; | |
| 8 | +import android.os.Bundle; | |
| 9 | +import android.text.TextUtils; | |
| 10 | +import android.util.DisplayMetrics; | |
| 11 | +import android.util.Log; | |
| 12 | +import android.view.LayoutInflater; | |
| 13 | +import android.view.View; | |
| 14 | +import android.view.View.OnClickListener; | |
| 15 | +import android.view.ViewGroup; | |
| 16 | +import android.widget.BaseAdapter; | |
| 17 | +import android.widget.ImageButton; | |
| 18 | +import android.widget.ListView; | |
| 19 | +import android.widget.TextView; | |
| 20 | + | |
| 21 | +import com.sunvote.util.LogUtil; | |
| 22 | +import com.sunvote.xpadapp.MainActivity; | |
| 23 | +import com.sunvote.xpadapp.R; | |
| 24 | +import com.sunvote.xpadapp.base.BaseFragment; | |
| 25 | +import com.sunvote.xpadapp.base.TextViewUtils; | |
| 26 | +import com.sunvote.xpadapp.db.modal.BillInfo; | |
| 27 | +import com.sunvote.xpadapp.db.modal.MultiTitleItem; | |
| 28 | +import com.sunvote.xpadcomm.XPadApiInterface; | |
| 29 | +import com.ycanfunc.util.StringUtils; | |
| 30 | + | |
| 31 | +import java.io.UnsupportedEncodingException; | |
| 32 | +import java.util.ArrayList; | |
| 33 | + | |
| 34 | +import static com.sunvote.xpadapp.utils.MyStringUtil.replaceBlank; | |
| 35 | + | |
| 36 | +public class ResultElectionCustomFragment extends BaseFragment { | |
| 37 | + | |
| 38 | + public byte[] data; | |
| 39 | + public BillInfo bill; | |
| 40 | + public XPadApiInterface.VoteInfo voteInfo; | |
| 41 | + String TAG = "ResultMultiVoteFragment"; | |
| 42 | + | |
| 43 | + public ArrayList<BillInfo> subInfo; | |
| 44 | + String[] options; | |
| 45 | + | |
| 46 | + private ArrayList<ListItem> aryContent = null; | |
| 47 | + | |
| 48 | + private TextView tvTitle; | |
| 49 | + private TextView titleAbstain; | |
| 50 | + private TextView titleUnvote; | |
| 51 | + private TextView titleResult; | |
| 52 | + | |
| 53 | + private ListView listview; | |
| 54 | + private MyAdapter mAdapter; | |
| 55 | + private int resultBits; | |
| 56 | + | |
| 57 | + int fenmu; | |
| 58 | + int yindao; | |
| 59 | + int shidao; | |
| 60 | + | |
| 61 | + @SuppressLint("NewApi") | |
| 62 | + @Override | |
| 63 | + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { | |
| 64 | + LogUtil.d(TAG, "onCreateView"); | |
| 65 | + View view = inflater.inflate(R.layout.fragment_result_multi_vote, container, false); | |
| 66 | + final MainActivity mact = (MainActivity) getActivity(); | |
| 67 | + | |
| 68 | + view.setOnClickListener(new OnClickListener() { | |
| 69 | + @Override | |
| 70 | + public void onClick(View v) { | |
| 71 | + ; | |
| 72 | + } | |
| 73 | + }); | |
| 74 | + | |
| 75 | + listview = (ListView) view.findViewById(R.id.multi_vote_result_listview); | |
| 76 | + options = bill.billOptions.split("/"); | |
| 77 | + | |
| 78 | + try { | |
| 79 | + initData(); | |
| 80 | + }catch (Exception ex){ex.printStackTrace();} | |
| 81 | + | |
| 82 | + mAdapter = new MyAdapter(getActivity()); | |
| 83 | + listview.setAdapter(mAdapter); | |
| 84 | + | |
| 85 | + tvTitle = (TextView) view.findViewById(R.id.multi_vote_result_tv_title); | |
| 86 | + if (bill != null) { | |
| 87 | + tvTitle.setText( replaceBlank(bill.title)); | |
| 88 | + } | |
| 89 | + | |
| 90 | + titleAbstain = (TextView) view.findViewById(R.id.multi_vote_result_title_abstan); | |
| 91 | + titleUnvote = (TextView) view.findViewById(R.id.multi_vote_result_title_unvote); | |
| 92 | + titleResult = (TextView) view.findViewById(R.id.multi_vote_result_title_result); | |
| 93 | + | |
| 94 | + if (resultBits == 0xffff) { | |
| 95 | + titleResult.setVisibility(View.GONE); | |
| 96 | + } else { | |
| 97 | + titleResult.setVisibility(View.VISIBLE); | |
| 98 | + } | |
| 99 | + if (options.length == 2) { | |
| 100 | + titleAbstain.setVisibility(View.GONE); | |
| 101 | + } else { | |
| 102 | + titleAbstain.setVisibility(View.VISIBLE); | |
| 103 | + } | |
| 104 | + TextView tvYindao = (TextView) view.findViewById(R.id.multi_vote_result_yindao); | |
| 105 | + TextView tvShidao = (TextView) view.findViewById(R.id.multi_vote_result_shidao); | |
| 106 | + if (yindao == 0xff || yindao == 0xffff) { | |
| 107 | + tvYindao.setVisibility(View.GONE); | |
| 108 | + } else { | |
| 109 | + tvYindao.setText("" + + yindao); | |
| 110 | + tvYindao.setVisibility(View.VISIBLE); | |
| 111 | + } | |
| 112 | + | |
| 113 | + if (shidao == 0xff || shidao == 0xffff) { | |
| 114 | + tvShidao.setVisibility(View.GONE); | |
| 115 | + } else { | |
| 116 | + tvShidao.setText("" + shidao); | |
| 117 | + tvShidao.setVisibility(View.VISIBLE); | |
| 118 | + } | |
| 119 | + | |
| 120 | + return view; | |
| 121 | + } | |
| 122 | + | |
| 123 | + private void initData() { | |
| 124 | + | |
| 125 | + int bitNum = data[2] & 0xf; | |
| 126 | + int digiters = data[2] >> 4 & 0xf; | |
| 127 | + int voteNo = data[3] & 0xff; | |
| 128 | + int startNo = ((data[4] & 0xff) << 8) | (data[5] & 0xff) ; | |
| 129 | + int endNo = ((data[6] & 0xff) << 8) | (data[7] & 0xff) ; | |
| 130 | + int rH = data[8] & 0xff; | |
| 131 | + int rL = data[9] & 0xff; | |
| 132 | + resultBits = rH << 8 | rL; | |
| 133 | + | |
| 134 | + // resultBits = ((data[8] << 8) | data[9]) & 0xff; | |
| 135 | + | |
| 136 | + // Log.d(TAG, "data len:" + data.length); | |
| 137 | + // Toast.makeText(mMainActivity, "data len:" + data.length, | |
| 138 | + // Toast.LENGTH_LONG).show(); | |
| 139 | + subInfo = mMainActivity.dbm.getSubBillItems(mMainActivity.meetingId, bill.billId); | |
| 140 | + aryContent = new ArrayList<ListItem>(); | |
| 141 | + | |
| 142 | + if (bitNum == 0) { | |
| 143 | + // 0 单字节数值(数值范围0-254) 现按一次最多显示5个事项 | |
| 144 | + fenmu = data[10] & 0xff; | |
| 145 | + yindao = data[11] & 0xff; | |
| 146 | + shidao = data[12] & 0xff; | |
| 147 | + int pos = 13; | |
| 148 | + for (int i = startNo; i <= endNo; i++) { | |
| 149 | + ListItem it = new ListItem(); | |
| 150 | + it.No = i; | |
| 151 | + it.title = getTitle(i); | |
| 152 | + it.agree = data[pos++] & 0xff; | |
| 153 | + it.oppose = data[pos++] & 0xff; | |
| 154 | + if (pos == data.length - 1) { | |
| 155 | + aryContent.add(it); | |
| 156 | + break; | |
| 157 | + } | |
| 158 | + if (options.length == 3) { | |
| 159 | + it.abstain = data[pos++] & 0xff; | |
| 160 | + } | |
| 161 | + if (pos == data.length - 1) { | |
| 162 | + aryContent.add(it); | |
| 163 | + break; | |
| 164 | + } | |
| 165 | + it.unvote = data[pos++] & 0xff; | |
| 166 | + if (resultBits == 0xffff) { | |
| 167 | +// it.pass = data[pos++] & 0xff; | |
| 168 | + it.pass = 0xffff; | |
| 169 | + } else { | |
| 170 | + int moveBits = 15 - (i - startNo); | |
| 171 | + it.pass = (resultBits >> moveBits) & 1; | |
| 172 | + } | |
| 173 | + aryContent.add(it); | |
| 174 | + } | |
| 175 | + } else if(bitNum == 1){ | |
| 176 | + // 1 双字节数值(数值范围0-65534) 现按一次最多显示5个事项 | |
| 177 | + fenmu = (data[10] << 8 | data[11]) & 0xffff; | |
| 178 | + yindao = (data[12] << 8 | data[13]) & 0xffff; | |
| 179 | + shidao = (data[14] << 8 | data[15]) & 0xffff; | |
| 180 | + int pos = 16; | |
| 181 | + for (int i = startNo; i <= endNo; i++) { | |
| 182 | + ListItem it = new ListItem(); | |
| 183 | + it.No = i; | |
| 184 | + it.title = getTitle(i); | |
| 185 | + it.agree = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 186 | + it.oppose = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 187 | + if (options.length == 3) { | |
| 188 | + it.abstain = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 189 | + } | |
| 190 | + it.unvote = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 191 | + if (resultBits == 0xffff) { | |
| 192 | + it.pass = 0xffff; | |
| 193 | + } else { | |
| 194 | + int moveBits = 15 - (i - startNo); | |
| 195 | + it.pass = (resultBits >> moveBits) & 1; | |
| 196 | + } | |
| 197 | + aryContent.add(it); | |
| 198 | + } | |
| 199 | + }else if(bitNum == 2){ | |
| 200 | + // 0 单字节数值(数值范围0-254) 现按一次最多显示5个事项 | |
| 201 | + fenmu = data[10] & 0xff; | |
| 202 | + yindao = data[11] & 0xff; | |
| 203 | + shidao = data[12] & 0xff; | |
| 204 | + int pos = 13; | |
| 205 | + for (int i = startNo; i <= endNo; i++) { | |
| 206 | + ListItem it = new ListItem(); | |
| 207 | + it.No = data[pos++] & 0xff; | |
| 208 | + it.title = getTitle(it.No); | |
| 209 | + it.agree = data[pos++] & 0xff; | |
| 210 | + it.oppose = data[pos++] & 0xff; | |
| 211 | + if (pos == data.length - 1) { | |
| 212 | + aryContent.add(it); | |
| 213 | + break; | |
| 214 | + } | |
| 215 | + if (options.length == 3) { | |
| 216 | + it.abstain = data[pos++] & 0xff; | |
| 217 | + } | |
| 218 | + if (pos == data.length - 1) { | |
| 219 | + aryContent.add(it); | |
| 220 | + break; | |
| 221 | + } | |
| 222 | + it.unvote = data[pos++] & 0xff; | |
| 223 | + if (resultBits == 0xffff) { | |
| 224 | + it.pass = 0xffff; | |
| 225 | + } else { | |
| 226 | + int moveBits = 15 - (i - startNo); | |
| 227 | + it.pass = (resultBits >> moveBits) & 1; | |
| 228 | + } | |
| 229 | + aryContent.add(it); | |
| 230 | + } | |
| 231 | + }else if(bitNum == 3){ | |
| 232 | + // 双字节数值制定表决事项编号(数值范围0-65534)现按一次最多显示5个事项 | |
| 233 | + // 单字节数值制定表决事项编号(数值范围0-254)现按一次最多显示5个事项 | |
| 234 | + // 1 双字节数值(数值范围0-65534) 现按一次最多显示5个事项 | |
| 235 | + fenmu = (data[10] << 8 | data[11]) & 0xffff; | |
| 236 | + yindao = (data[12] << 8 | data[13]) & 0xffff; | |
| 237 | + shidao = (data[14] << 8 | data[15]) & 0xffff; | |
| 238 | + int pos = 16; | |
| 239 | + for (int i = startNo; i <= endNo; i++) { | |
| 240 | + ListItem it = new ListItem(); | |
| 241 | + it.No = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 242 | + it.title = getTitle(it.No); | |
| 243 | + it.agree = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 244 | + it.oppose = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 245 | + if (options.length == 3) { | |
| 246 | + it.abstain = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 247 | + } | |
| 248 | + it.unvote = (data[pos++] << 8 | data[pos++]) & 0xffff; | |
| 249 | + if (resultBits == 0xffff) { | |
| 250 | + it.pass = 0xffff; | |
| 251 | + } else { | |
| 252 | + int moveBits = 15 - (i - startNo); | |
| 253 | + it.pass = (resultBits >> moveBits) & 1; | |
| 254 | + } | |
| 255 | + aryContent.add(it); | |
| 256 | + } | |
| 257 | + } | |
| 258 | + | |
| 259 | + } | |
| 260 | + | |
| 261 | + private String getTitle(int billNo) { | |
| 262 | + for (int i = 0; i < subInfo.size(); i++) { | |
| 263 | + BillInfo subItem = subInfo.get(i); | |
| 264 | + if (subItem.billNo == billNo) { | |
| 265 | + return subItem.title; | |
| 266 | + } | |
| 267 | + } | |
| 268 | + return ""; | |
| 269 | + } | |
| 270 | + | |
| 271 | + public class ListItem { | |
| 272 | + int No; | |
| 273 | + String title; | |
| 274 | + int agree; | |
| 275 | + int oppose; | |
| 276 | + int abstain; | |
| 277 | + int unvote; | |
| 278 | + int pass; | |
| 279 | + } | |
| 280 | + | |
| 281 | + /* | |
| 282 | + * MyAdapter | |
| 283 | + * | |
| 284 | + */ | |
| 285 | + private class MyAdapter extends BaseAdapter { | |
| 286 | + | |
| 287 | + private LayoutInflater mInflater; | |
| 288 | + | |
| 289 | + public MyAdapter(Context context) { | |
| 290 | + this.mInflater = LayoutInflater.from(context); | |
| 291 | + } | |
| 292 | + | |
| 293 | + @Override | |
| 294 | + public int getCount() { | |
| 295 | + // TODO Auto-generated method stub | |
| 296 | + return aryContent.size(); | |
| 297 | + } | |
| 298 | + | |
| 299 | + @Override | |
| 300 | + public Object getItem(int position) { | |
| 301 | + // TODO Auto-generated method stub | |
| 302 | + return aryContent.get(position); | |
| 303 | + } | |
| 304 | + | |
| 305 | + @Override | |
| 306 | + public long getItemId(int position) { | |
| 307 | + // TODO Auto-generated method stub | |
| 308 | + return position; | |
| 309 | + } | |
| 310 | + | |
| 311 | + @Override | |
| 312 | + public boolean isEnabled(int position) { | |
| 313 | + // TODO Auto-generated method stub | |
| 314 | + | |
| 315 | + return super.isEnabled(position); | |
| 316 | + } | |
| 317 | + | |
| 318 | + @Override | |
| 319 | + public View getView(final int position, View convertView, ViewGroup parent) { | |
| 320 | + ViewHolder holder; | |
| 321 | + LogUtil.v("BaseAdapterTest", "getView " + position + " " + convertView); | |
| 322 | + | |
| 323 | + if (convertView == null) { | |
| 324 | + convertView = mInflater.inflate(R.layout.list_multi_vote_result_item, null); | |
| 325 | + holder = new ViewHolder(); | |
| 326 | + | |
| 327 | + holder.tvNum = (TextView) convertView.findViewById(R.id.list_multi_result_item_num); | |
| 328 | + holder.tvTitle = (TextView) convertView.findViewById(R.id.list_multi_result_item_name); | |
| 329 | + holder.tvAgree = (TextView) convertView.findViewById(R.id.list_multi_result_item_agree); | |
| 330 | + holder.tvOppose = (TextView) convertView.findViewById(R.id.list_multi_result_item_oppose); | |
| 331 | + holder.tvAbstain = (TextView) convertView.findViewById(R.id.list_multi_result_item_abstan); | |
| 332 | + holder.tvUnvote = (TextView) convertView.findViewById(R.id.list_multi_result_item_unvote); | |
| 333 | + holder.tvResult = (TextView) convertView.findViewById(R.id.list_multi_result_item_result); | |
| 334 | + | |
| 335 | + convertView.setTag(holder); | |
| 336 | + } else { | |
| 337 | + holder = (ViewHolder) convertView.getTag(); | |
| 338 | + } | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + ListItem it = aryContent.get(position); | |
| 343 | + holder.tvNum.setText(String.valueOf(it.No)); | |
| 344 | + holder.tvTitle.setText(it.title); | |
| 345 | + | |
| 346 | + | |
| 347 | + holder.tvOppose.setText(String.valueOf(it.oppose)); | |
| 348 | + holder.tvAbstain.setText(String.valueOf(it.abstain)); | |
| 349 | + if(it.agree != 0xff && it.agree != 0xffff){ | |
| 350 | + holder.tvAgree.setVisibility(View.VISIBLE); | |
| 351 | + holder.tvAgree.setText(String.valueOf(it.agree)); | |
| 352 | + }else{ | |
| 353 | + holder.tvAgree.setVisibility(View.INVISIBLE); | |
| 354 | + holder.tvAgree.setText(""); | |
| 355 | + } | |
| 356 | + if(it.oppose != 0xff && it.oppose != 0xffff){ | |
| 357 | + holder.tvOppose.setVisibility(View.VISIBLE); | |
| 358 | + holder.tvOppose.setText(String.valueOf(it.oppose)); | |
| 359 | + }else{ | |
| 360 | + holder.tvOppose.setVisibility(View.INVISIBLE); | |
| 361 | + holder.tvOppose.setText(""); | |
| 362 | + } | |
| 363 | + if(it.abstain != 0xff && it.abstain != 0xffff){ | |
| 364 | + holder.tvAbstain.setVisibility(View.VISIBLE); | |
| 365 | + holder.tvAbstain.setText(String.valueOf(it.abstain)); | |
| 366 | + }else{ | |
| 367 | + holder.tvAbstain.setVisibility(View.INVISIBLE); | |
| 368 | + holder.tvAbstain.setText(""); | |
| 369 | + } | |
| 370 | + | |
| 371 | + if (it.unvote != 0xff && it.unvote != 0xffff) { | |
| 372 | + titleUnvote.setVisibility(View.VISIBLE); | |
| 373 | + holder.tvUnvote.setVisibility(View.VISIBLE); | |
| 374 | + holder.tvUnvote.setText(String.valueOf(it.unvote)); | |
| 375 | + } else { | |
| 376 | + titleUnvote.setVisibility(View.INVISIBLE); | |
| 377 | + holder.tvUnvote.setVisibility(View.INVISIBLE); | |
| 378 | + holder.tvUnvote.setText(""); | |
| 379 | + | |
| 380 | + } | |
| 381 | + | |
| 382 | + String strPass = ""; | |
| 383 | + | |
| 384 | + if (it.pass == 0) { | |
| 385 | + strPass = getString(R.string.no_pass); | |
| 386 | + } else if (it.pass == 1) { | |
| 387 | + strPass = getString(R.string.pass); | |
| 388 | + } | |
| 389 | + | |
| 390 | + holder.tvResult.setText(strPass); | |
| 391 | + if (it.pass == 0xffff) { | |
| 392 | + holder.tvResult.setVisibility(View.GONE); | |
| 393 | + } else { | |
| 394 | + holder.tvResult.setVisibility(View.VISIBLE); | |
| 395 | + } | |
| 396 | + | |
| 397 | + if (options.length == 2) { | |
| 398 | + holder.tvAbstain.setVisibility(View.GONE); | |
| 399 | + | |
| 400 | + } else { | |
| 401 | + holder.tvAbstain.setVisibility(View.VISIBLE); | |
| 402 | + } | |
| 403 | + | |
| 404 | + return convertView; | |
| 405 | + } | |
| 406 | + | |
| 407 | + | |
| 408 | + public final class ViewHolder { | |
| 409 | + public TextView tvNum; | |
| 410 | + public TextView tvTitle; | |
| 411 | + public TextView tvAgree; | |
| 412 | + public TextView tvOppose; | |
| 413 | + public TextView tvAbstain; | |
| 414 | + public TextView tvUnvote; | |
| 415 | + public TextView tvResult; | |
| 416 | + } | |
| 417 | + } | |
| 418 | +} | ... | ... |
C5/app/src/main/res/drawable/ic_btn_oo.xml
0 → 100644
| 1 | +<vector android:height="24dp" android:viewportHeight="78" | |
| 2 | + android:viewportWidth="78" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
| 3 | + <path android:fillColor="#DFDFDF" android:pathData="M39,78C17.5,78 0,60.5 0,39S17.5,0 39,0s39,17.5 39,39S60.5,78 39,78zM39,10c-16,0 -29,13 -29,29s13,29 29,29s29,-13 29,-29S55,10 39,10z"/> | |
| 4 | +</vector> | ... | ... |
C5/app/src/main/res/drawable/ic_btn_oo_s.xml
0 → 100644
| 1 | +<vector android:height="24dp" android:viewportHeight="78" | |
| 2 | + android:viewportWidth="78" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
| 3 | + <path android:fillColor="#9AC243" android:pathData="M39,78C17.5,78 0,60.5 0,39S17.5,0 39,0s39,17.5 39,39S60.5,78 39,78zM39,10c-16,0 -29,13 -29,29s13,29 29,29s29,-13 29,-29S55,10 39,10z"/> | |
| 4 | +</vector> | ... | ... |
C5/app/src/main/res/drawable/ic_btn_xx.xml
0 → 100644
| 1 | +<vector android:height="24dp" android:viewportHeight="182.5" | |
| 2 | + android:viewportWidth="182.6" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
| 3 | + <path android:fillColor="#DFDFDF" android:pathData="M177.7,177.6c-6.5,6.5 -17,6.5 -23.5,0L5,28.5c-6.5,-6.5 -6.5,-17 0,-23.5c6.5,-6.5 17,-6.5 23.6,0L177.7,154C184.2,160.6 184.2,171.1 177.7,177.6L177.7,177.6zM177.5,28.4L28.4,177.5c-6.5,6.5 -17.1,6.5 -23.6,0c-6.5,-6.5 -6.5,-17 0,-23.5L154,4.9c6.5,-6.5 17.1,-6.5 23.5,0C184.1,11.4 184,21.9 177.5,28.4L177.5,28.4zM177.5,28.4"/> | |
| 4 | +</vector> | ... | ... |
C5/app/src/main/res/drawable/ic_btn_xx_s.xml
0 → 100644
| 1 | +<vector android:height="24dp" android:viewportHeight="182.5" | |
| 2 | + android:viewportWidth="182.6" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
| 3 | + <path android:fillColor="#D31A1A" android:pathData="M177.7,177.6c-6.5,6.5 -17,6.5 -23.5,0L5,28.5c-6.5,-6.5 -6.5,-17 0,-23.5c6.5,-6.5 17,-6.5 23.6,0L177.7,154C184.2,160.6 184.2,171.1 177.7,177.6L177.7,177.6zM177.5,28.4L28.4,177.5c-6.5,6.5 -17.1,6.5 -23.6,0c-6.5,-6.5 -6.5,-17 0,-23.5L154,4.9c6.5,-6.5 17.1,-6.5 23.5,0C184.1,11.4 184,21.9 177.5,28.4L177.5,28.4zM177.5,28.4"/> | |
| 4 | +</vector> | ... | ... |
C5/app/src/main/res/drawable/ic_delete.xml
0 → 100644
| 1 | +<vector android:height="24dp" android:viewportHeight="182.1" | |
| 2 | + android:viewportWidth="168.8" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
| 3 | + <path android:fillColor="#ABABAB" android:pathData="M69.5,142.3v-50c0,-3.9 -3.2,-7.1 -7.1,-7.1s-7.1,3.2 -7.1,7.1v50c0,3.9 3.2,7.1 7.1,7.1S69.5,146.2 69.5,142.3L69.5,142.3zM113,142.3v-50c-0.6,-3.9 -3.9,-6.5 -7.8,-6.5c-3.2,0 -5.8,3.2 -6.5,6.5v50c0.6,3.9 3.9,6.5 7.8,6.5C109.7,148.8 112.3,145.6 113,142.3L113,142.3zM161.7,33.9h-36.4V21.5c0,-12.3 -9.7,-21.4 -22.1,-21.4H63c-11.7,0 -21.4,9.7 -21.4,21.4v12.3H7.1C3.2,33.9 0,37.1 0,41c0,3.9 3.2,7.1 7.1,7.1h154.5c3.9,0 7.1,-3.2 7.1,-7.1C168.8,37.1 165.6,33.9 161.7,33.9L161.7,33.9zM111,33.9H55.2V21.5c0,-4.5 3.2,-7.8 7.8,-7.8h40.3c4.5,0 7.8,3.2 7.8,7.8V33.9zM111,33.9"/> | |
| 4 | + <path android:fillColor="#ABABAB" android:pathData="M148.7,58.6c-3.9,0 -7.1,2.6 -7.1,6.5v94.2c0,5.2 -4.5,9.1 -9.7,9.1H37c-5.2,0 -9.7,-3.9 -9.7,-9.1V65c0,-3.9 -3.2,-6.5 -7.1,-6.5c-3.9,0 -7.1,2.6 -7.1,6.5v94.2c0.6,13 11,22.7 24,22.7h95.5c13,0 23.4,-9.7 23.4,-22.7V65C155.8,61.2 152.6,58.6 148.7,58.6L148.7,58.6zM148.7,58.6"/> | |
| 5 | +</vector> | ... | ... |
C5/app/src/main/res/drawable/ic_gray_selected.xml
0 → 100644
| 1 | +<vector android:height="24dp" android:viewportHeight="199.9" | |
| 2 | + android:viewportWidth="201.7" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
| 3 | + <path android:fillColor="#CCCCCC" android:pathData="M83.2,136.7l-32.9,-32.9c-4,-4 -10.4,-4 -14.4,0c-4,4 -4,10.4 0,14.4L71.7,154c3.4,3.4 8,5.3 12.8,5.3c4.9,0 9.6,-1.9 13.1,-5.4l95,-94.9c2.6,-2.6 3.6,-6.3 2.7,-9.8c-0.9,-3.5 -3.7,-6.3 -7.2,-7.2c-3.5,-0.9 -7.3,0 -9.8,2.6l-92.1,92.1C85.3,137.5 84,137.5 83.2,136.7L83.2,136.7zM83.2,136.7"/> | |
| 4 | + <path android:fillColor="#CCCCCC" android:pathData="M190.7,98.8c-5.5,0 -11,4.6 -11,10.2v57.4c0,7.8 -5.9,15.2 -13.9,15.2h-131c-7.9,0 -16.5,-7.3 -16.5,-15.2V35.3c0,-7.9 8.5,-15.1 16.5,-15.1h90c2.7,0 5.3,-1 7.2,-2.9c1.9,-1.9 3,-4.5 3,-7.2C135,4.5 130.4,0 124.8,0h-90C15.5,0.3 0,16 0,35.3v131.1c0,19.1 15.7,33.5 34.8,33.5h131c19.1,0 35.9,-14.4 35.9,-33.5V109C201.7,103.3 196.3,98.8 190.7,98.8L190.7,98.8zM190.7,98.8"/> | |
| 5 | +</vector> | ... | ... |
C5/app/src/main/res/drawable/ic_green_selected.xml
0 → 100644
| 1 | +<vector android:height="24dp" android:viewportHeight="199.9" | |
| 2 | + android:viewportWidth="201.7" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | |
| 3 | + <path android:fillColor="#95BA46" android:pathData="M83.2,136.7l-32.9,-32.9c-4,-4 -10.4,-4 -14.4,0c-4,4 -4,10.4 0,14.4L71.7,154c3.4,3.4 8,5.3 12.8,5.3c4.9,0 9.6,-1.9 13.1,-5.4l95,-94.9c2.6,-2.6 3.6,-6.3 2.7,-9.8c-0.9,-3.5 -3.7,-6.3 -7.2,-7.2c-3.5,-0.9 -7.3,0 -9.8,2.6l-92.1,92.1C85.3,137.5 84,137.5 83.2,136.7L83.2,136.7zM83.2,136.7"/> | |
| 4 | + <path android:fillColor="#95BA46" android:pathData="M190.7,98.8c-5.5,0 -11,4.6 -11,10.2v57.4c0,7.8 -5.9,15.2 -13.9,15.2h-131c-7.9,0 -16.5,-7.3 -16.5,-15.2V35.3c0,-7.9 8.5,-15.1 16.5,-15.1h90c2.7,0 5.3,-1 7.2,-2.9c1.9,-1.9 3,-4.5 3,-7.2C135,4.5 130.4,0 124.8,0h-90C15.5,0.3 0,16 0,35.3v131.1c0,19.1 15.7,33.5 34.8,33.5h131c19.1,0 35.9,-14.4 35.9,-33.5V109C201.7,103.3 196.3,98.8 190.7,98.8L190.7,98.8zM190.7,98.8"/> | |
| 5 | +</vector> | ... | ... |
C5/app/src/main/res/drawable/selected_selector.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | |
| 2 | +<selector xmlns:android="http://schemas.android.com/apk/res/android" > | |
| 3 | + | |
| 4 | + <item android:state_checked="true" android:state_window_focused="false" | |
| 5 | + android:drawable="@drawable/ic_green_selected" /> | |
| 6 | + <item android:state_checked="false" android:state_window_focused="false" | |
| 7 | + android:drawable="@drawable/ic_gray_selected" /> | |
| 8 | + | |
| 9 | + <item android:state_checked="true" android:state_window_focused="true" | |
| 10 | + android:drawable="@drawable/ic_green_selected" /> | |
| 11 | + <item android:state_checked="false" android:state_window_focused="true" | |
| 12 | + android:drawable="@drawable/ic_gray_selected" /> | |
| 13 | + | |
| 14 | + <item android:state_checked="true" android:state_pressed="true" | |
| 15 | + android:drawable="@drawable/ic_green_selected" /> | |
| 16 | + <item android:state_checked="false" android:state_pressed="true" | |
| 17 | + android:drawable="@drawable/ic_gray_selected" /> | |
| 18 | + | |
| 19 | + <item android:state_checked="true" android:state_focused="true" | |
| 20 | + android:drawable="@drawable/ic_green_selected" /> | |
| 21 | + <item android:state_checked="false" android:state_focused="true" | |
| 22 | + android:drawable="@drawable/ic_gray_selected" /> | |
| 23 | + | |
| 24 | + <item android:state_checked="true" android:state_focused="false" | |
| 25 | + android:drawable="@drawable/ic_green_selected" /> | |
| 26 | + <item android:state_checked="false" android:state_focused="false" | |
| 27 | + android:drawable="@drawable/ic_gray_selected" /> | |
| 28 | + | |
| 29 | + <item android:state_checked="false" android:drawable="@drawable/ic_gray_selected" /> | |
| 30 | + <item android:state_checked="true" android:drawable="@drawable/ic_green_selected" /> | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | +</selector> | ... | ... |
C5/app/src/main/res/layout/fragment_result_election_custom.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | |
| 2 | +<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
| 3 | + android:layout_width="match_parent" | |
| 4 | + android:layout_height="match_parent" | |
| 5 | + android:background="#0952b5" | |
| 6 | + android:orientation="vertical"> | |
| 7 | + | |
| 8 | + <RelativeLayout | |
| 9 | + android:id="@+id/title_linear" | |
| 10 | + android:layout_width="match_parent" | |
| 11 | + android:layout_height="wrap_content" | |
| 12 | + android:layout_marginTop="@dimen/px110dp"> | |
| 13 | + | |
| 14 | + <ImageButton | |
| 15 | + android:id="@+id/fragment_result_election_btn_back" | |
| 16 | + android:layout_width="wrap_content" | |
| 17 | + android:layout_height="wrap_content" | |
| 18 | + android:layout_marginLeft="@dimen/content_margin" | |
| 19 | + android:background="@drawable/back_white_selector" | |
| 20 | + android:visibility="invisible" /> | |
| 21 | + | |
| 22 | + <TextView | |
| 23 | + android:id="@+id/fragment_result_election_bill_title" | |
| 24 | + android:layout_width="fill_parent" | |
| 25 | + android:layout_height="wrap_content" | |
| 26 | + android:layout_centerHorizontal="true" | |
| 27 | + android:layout_marginLeft="@dimen/content_margin" | |
| 28 | + android:layout_marginRight="@dimen/content_margin" | |
| 29 | + android:ellipsize="end" | |
| 30 | + android:gravity="center" | |
| 31 | + android:lines="1" | |
| 32 | + android:text="@string/vote_election" | |
| 33 | + android:textColor="@color/white" | |
| 34 | + android:textSize="@dimen/big_text_p3" | |
| 35 | + android:textStyle="bold" /> | |
| 36 | + </RelativeLayout> | |
| 37 | + | |
| 38 | + <LinearLayout | |
| 39 | + android:id="@+id/bottom_linear" | |
| 40 | + android:layout_width="400dp" | |
| 41 | + android:layout_height="wrap_content" | |
| 42 | + android:layout_marginTop="@dimen/px60dp" | |
| 43 | + android:layout_centerHorizontal="true" | |
| 44 | + android:layout_below="@id/title_linear" | |
| 45 | + android:orientation="horizontal"> | |
| 46 | + | |
| 47 | + <TextView | |
| 48 | + android:layout_width="wrap_content" | |
| 49 | + android:layout_height="wrap_content" | |
| 50 | + android:layout_weight="1" | |
| 51 | + android:gravity="right" | |
| 52 | + android:text="@string/yindao1" | |
| 53 | + android:textColor="@color/white" | |
| 54 | + android:textSize="@dimen/px60dp" | |
| 55 | + android:textStyle="bold" /> | |
| 56 | + | |
| 57 | + <TextView | |
| 58 | + android:id="@+id/yingdaoresult" | |
| 59 | + android:layout_width="wrap_content" | |
| 60 | + android:layout_height="wrap_content" | |
| 61 | + android:layout_marginLeft="10dp" | |
| 62 | + android:layout_marginRight="60dp" | |
| 63 | + android:layout_weight="1" | |
| 64 | + android:gravity="left" | |
| 65 | + android:text="150" | |
| 66 | + android:textColor="@color/white" | |
| 67 | + android:textSize="@dimen/px60dp"/> | |
| 68 | + | |
| 69 | + <TextView | |
| 70 | + android:layout_width="wrap_content" | |
| 71 | + android:layout_height="wrap_content" | |
| 72 | + android:gravity="right" | |
| 73 | + android:text="@string/shidao1" | |
| 74 | + android:textColor="@color/white" | |
| 75 | + android:textSize="@dimen/px60dp" | |
| 76 | + android:textStyle="bold" /> | |
| 77 | + | |
| 78 | + <TextView | |
| 79 | + android:id="@+id/shidaoresult" | |
| 80 | + android:layout_width="wrap_content" | |
| 81 | + android:layout_height="wrap_content" | |
| 82 | + android:layout_marginLeft="10dp" | |
| 83 | + android:layout_weight="1" | |
| 84 | + android:gravity="left" | |
| 85 | + android:text="150" | |
| 86 | + android:textColor="@color/white" | |
| 87 | + android:textSize="@dimen/px60dp"/> | |
| 88 | + | |
| 89 | + </LinearLayout> | |
| 90 | + | |
| 91 | + <LinearLayout | |
| 92 | + android:id="@+id/data_title_layout" | |
| 93 | + android:layout_width="match_parent" | |
| 94 | + android:layout_height="wrap_content" | |
| 95 | + android:layout_below="@id/bottom_linear" | |
| 96 | + android:layout_marginTop="@dimen/px91dp" | |
| 97 | + android:orientation="horizontal" | |
| 98 | + android:paddingRight="80dp"> | |
| 99 | + | |
| 100 | + <TextView | |
| 101 | + android:id="@+id/fragment_result_election_num" | |
| 102 | + android:layout_width="140dp" | |
| 103 | + android:layout_height="match_parent" | |
| 104 | + android:gravity="center" | |
| 105 | + android:paddingLeft="@dimen/content_margin" | |
| 106 | + android:text="@string/number" | |
| 107 | + android:textColor="@color/white" | |
| 108 | + android:textSize="@dimen/px48dp" | |
| 109 | + android:textStyle="bold" /> | |
| 110 | + | |
| 111 | + <TextView | |
| 112 | + android:id="@+id/fragment_result_election_name" | |
| 113 | + android:layout_width="0dp" | |
| 114 | + android:layout_height="match_parent" | |
| 115 | + android:layout_weight="1" | |
| 116 | + android:gravity="center" | |
| 117 | + android:text="@string/item" | |
| 118 | + android:textColor="@color/white" | |
| 119 | + android:textSize="@dimen/px48dp" | |
| 120 | + android:textStyle="bold" /> | |
| 121 | + | |
| 122 | + <TextView | |
| 123 | + android:id="@+id/fragment_result_election_agree_num" | |
| 124 | + android:layout_width="140dp" | |
| 125 | + android:layout_height="match_parent" | |
| 126 | + android:gravity="center" | |
| 127 | + android:text="@string/vote_num" | |
| 128 | + android:textColor="@color/white" | |
| 129 | + android:textSize="@dimen/px48dp" | |
| 130 | + android:textStyle="bold" /> | |
| 131 | + </LinearLayout> | |
| 132 | + | |
| 133 | + <ListView | |
| 134 | + android:id="@+id/fragment_result_election_list" | |
| 135 | + android:layout_width="match_parent" | |
| 136 | + android:layout_height="match_parent" | |
| 137 | + android:layout_below="@id/data_title_layout" | |
| 138 | + android:layout_marginBottom="@dimen/content_margin" | |
| 139 | + android:layout_marginTop="@dimen/px20dp" | |
| 140 | + android:divider="@color/blue1" | |
| 141 | + android:dividerHeight="1dp" /> | |
| 142 | + | |
| 143 | +</RelativeLayout> | |
| 0 | 144 | \ No newline at end of file | ... | ... |
C5/app/src/main/res/layout/list_result_election_custom_item.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | |
| 2 | +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | |
| 3 | + android:layout_width="match_parent" | |
| 4 | + android:layout_height="@dimen/px110dp" | |
| 5 | + android:layout_marginBottom="@dimen/content_margin" | |
| 6 | + android:layout_marginTop="@dimen/content_margin" | |
| 7 | + android:minHeight="@dimen/px110dp" | |
| 8 | + android:paddingRight="80dp"> | |
| 9 | + | |
| 10 | + <TextView | |
| 11 | + android:id="@+id/item_result_election_num" | |
| 12 | + android:layout_width="140dp" | |
| 13 | + android:layout_height="match_parent" | |
| 14 | + android:layout_centerVertical="true" | |
| 15 | + android:gravity="center" | |
| 16 | + android:paddingLeft="@dimen/content_margin" | |
| 17 | + android:text="@string/name_index" | |
| 18 | + android:textColor="@color/white" | |
| 19 | + android:textSize="@dimen/px48dp" | |
| 20 | + android:textStyle="bold"/> | |
| 21 | + | |
| 22 | + <TextView | |
| 23 | + android:id="@+id/item_result_election_name" | |
| 24 | + android:layout_width="0dp" | |
| 25 | + android:layout_height="match_parent" | |
| 26 | + android:layout_weight="1" | |
| 27 | + android:text="@string/name_xpad" | |
| 28 | + android:textColor="@color/white" | |
| 29 | + android:gravity="center" | |
| 30 | + android:textSize="@dimen/px48dp" | |
| 31 | + android:textStyle="bold" /> | |
| 32 | + | |
| 33 | + <TextView | |
| 34 | + android:id="@+id/item_result_election_agree" | |
| 35 | + android:layout_width="140dp" | |
| 36 | + android:layout_height="match_parent" | |
| 37 | + android:gravity="center" | |
| 38 | + android:text="@string/agree_num" | |
| 39 | + android:textColor="@color/white" | |
| 40 | + android:textSize="@dimen/px48dp" | |
| 41 | + android:textStyle="bold" /> | |
| 42 | +</LinearLayout> | ... | ... |