瀏覽代碼

推荐功能页面开发完成

huyuguo 4 年之前
父節點
當前提交
d85c709efe

+ 56 - 24
app/src/main/java/com/electric/chargingpile/activity/RecommendChargingStationActivity.java

@ -30,6 +30,7 @@ import com.blankj.utilcode.util.LogUtils;
30 30
import com.electric.chargingpile.BuildConfig;
31 31
import com.electric.chargingpile.R;
32 32
import com.electric.chargingpile.application.MainApplication;
33
import com.electric.chargingpile.data.PileData;
33 34
import com.electric.chargingpile.data.RecommendZhan;
34 35
import com.electric.chargingpile.util.BarColorUtil;
35 36
import com.electric.chargingpile.util.JsonUtils;
@ -48,6 +49,7 @@ import java.io.PrintWriter;
48 49
import java.net.Socket;
49 50
import java.net.URISyntaxException;
50 51
import java.util.ArrayList;
52
import java.util.Calendar;
51 53
import java.util.Collections;
52 54
import java.util.Comparator;
53 55
import java.util.HashMap;
@ -417,12 +419,13 @@ public class RecommendChargingStationActivity extends AppCompatActivity implemen
417 419
            final TextView iv_label_ground;
418 420
            final TextView iv_label_free_park;
419 421
            final TextView payment_method;
420
            final TextView fast_num;
421
            final TextView fast_free;
422
            final TextView fast_free_num;
423
            final TextView slow_num;
424
            final TextView slow_free;
425
            final TextView slow_free_num;
422
            final TextView window_tv_fast_free_label;
423
            final TextView window_tv_fast_free_num;
424
            final TextView window_tv_fast_total_num;
425
            final TextView window_tv_slow_free_num;
426
            final TextView window_tv_slow_free_label;
427
            final TextView window_tv_slow_total_num;
428
            final TextView fenshi_info_textview;
426 429
427 430
            public ViewHolder(View itemView) {
428 431
                super(itemView);
@ -443,13 +446,14 @@ public class RecommendChargingStationActivity extends AppCompatActivity implemen
443 446
                iv_label_free_park = itemView.findViewById(R.id.iv_label_free_park);
444 447
                payment_method = itemView.findViewById(R.id.payment_method);
445 448
446
                fast_num = itemView.findViewById(R.id.fast_num);
447
                fast_free = itemView.findViewById(R.id.fast_free);
448
                fast_free_num = itemView.findViewById(R.id.fast_free_num);
449
                window_tv_fast_free_label = itemView.findViewById(R.id.window_tv_fast_free_label);
450
                window_tv_fast_free_num = itemView.findViewById(R.id.window_tv_fast_free_num);
451
                window_tv_fast_total_num = itemView.findViewById(R.id.window_tv_fast_total_num);
449 452
450
                slow_num = itemView.findViewById(R.id.slow_num);
451
                slow_free = itemView.findViewById(R.id.slow_free);
452
                slow_free_num = itemView.findViewById(R.id.slow_free_num);
453
                window_tv_slow_free_label = itemView.findViewById(R.id.window_tv_slow_free_label);
454
                window_tv_slow_free_num = itemView.findViewById(R.id.window_tv_slow_free_num);
455
                window_tv_slow_total_num = itemView.findViewById(R.id.window_tv_slow_total_num);
456
                fenshi_info_textview = itemView.findViewById(R.id.fenshi_info_textview);
453 457
454 458
            }
455 459
        }
@ -559,6 +563,7 @@ public class RecommendChargingStationActivity extends AppCompatActivity implemen
559 563
            holder.iv_label_ground.setText("0".equals(recommendZhan.getPark_location()) ? "地下" : "地上");
560 564
            holder.iv_label_free_park.setVisibility(recommendZhan.getStop_cost().contains("免费") ? View.VISIBLE : View.GONE);
561 565
566
562 567
            if ("1".equals(recommendZhan.getOwn_pay())) {
563 568
                holder.payment_method.setText("可使用本APP扫码支付");
564 569
            } else {
@ -570,21 +575,48 @@ public class RecommendChargingStationActivity extends AppCompatActivity implemen
570 575
            }
571 576
572 577
            if (recommendZhan.getFast_able_num() == null && recommendZhan.getSlow_able_num() == null) {
573
                holder.fast_free.setVisibility(View.GONE);
574
                holder.fast_free_num.setVisibility(View.GONE);
575
                holder.slow_free.setVisibility(View.GONE);
576
                holder.slow_free_num.setVisibility(View.GONE);
578
                holder.window_tv_fast_free_label.setVisibility(View.GONE);
579
                holder.window_tv_fast_total_num.setVisibility(View.GONE);
580
581
                holder.window_tv_slow_free_label.setVisibility(View.GONE);
582
                holder.window_tv_slow_total_num.setVisibility(View.GONE);
583
584
                holder.window_tv_fast_free_num.setText("".equals(recommendZhan.getFast_num()) ? "0" : recommendZhan.getFast_num());
585
                holder.window_tv_slow_free_num.setText("".equals(recommendZhan.getSlow_num()) ? "0" : recommendZhan.getSlow_num());
586
            } else {
587
                holder.window_tv_fast_free_label.setVisibility(View.VISIBLE);
588
                holder.window_tv_fast_total_num.setVisibility(View.VISIBLE);
589
590
                holder.window_tv_slow_free_label.setVisibility(View.VISIBLE);
591
                holder.window_tv_slow_total_num.setVisibility(View.VISIBLE);
592
593
                holder.window_tv_fast_free_num.setText(recommendZhan.getFast_able_num());
594
                holder.window_tv_slow_free_num.setText(recommendZhan.getSlow_able_num());
595
                holder.window_tv_fast_total_num.setText("".equals(recommendZhan.getFast_num()) ? "0" : "/" + recommendZhan.getFast_num());
596
                holder.window_tv_slow_total_num.setText("".equals(recommendZhan.getSlow_num()) ? "0" : "/" +  recommendZhan.getSlow_num());
597
            }
598
599
600
            if ("1".equals(recommendZhan.getFenshi_is())) {
601
                holder.fenshi_info_textview.setText("");
602
                ArrayList<PileData.FenshiInfoBean> fenshiList = (ArrayList<PileData.FenshiInfoBean>) JsonUtils.parseToObjectList(recommendZhan.getFenshi_info(), PileData.FenshiInfoBean.class);
603
                Calendar calendar = Calendar.getInstance();
604
                int hours = calendar.get(Calendar.HOUR_OF_DAY);
605
                int minutes = calendar.get(Calendar.MINUTE);
606
                int totalMinutes = hours * 60 + minutes;
607
608
                for (PileData.FenshiInfoBean bean : fenshiList) {
609
                    if (bean.getStartTotalMinutes() > totalMinutes) {
610
                        Double service_free = Double.valueOf(bean.getService_free());
611
                        Double charge_free = Double.valueOf(bean.getCharge_free());
612
                        holder.fenshi_info_textview.setText(String.format("%s开始 %.2f元/度", bean.getStart(), service_free + charge_free));
613
                        break;
614
                    }
615
                }
577 616
            } else {
578
                holder.fast_free.setVisibility(View.VISIBLE);
579
                holder.fast_free_num.setVisibility(View.VISIBLE);
580
                holder.slow_free.setVisibility(View.VISIBLE);
581
                holder.slow_free_num.setVisibility(View.VISIBLE);
582
                holder.fast_free_num.setText(recommendZhan.getFast_able_num());
583
                holder.slow_free_num.setText(recommendZhan.getSlow_able_num());
617
                holder.fenshi_info_textview.setText("");
584 618
            }
585 619
586
            holder.fast_num.setText("".equals(recommendZhan.getFast_num()) ? "" : recommendZhan.getFast_num());
587
            holder.slow_num.setText("".equals(recommendZhan.getSlow_num()) ? "0" : recommendZhan.getSlow_num());
588 620
        }
589 621
590 622
        @Override

+ 89 - 61
app/src/main/java/com/electric/chargingpile/activity/SearchActivity.java

@ -12,6 +12,7 @@ import android.os.Handler;
12 12
import androidx.appcompat.app.AlertDialog;
13 13

14 14
import android.text.Editable;
15
import android.text.Html;
15 16
import android.text.TextUtils;
16 17
import android.text.TextWatcher;
17 18
import android.util.Log;
@ -44,14 +45,9 @@ import com.amap.api.services.poisearch.PoiSearch.OnPoiSearchListener;
44 45
import com.electric.chargingpile.R;
45 46
import com.electric.chargingpile.application.MainApplication;
46 47
import com.electric.chargingpile.data.HistoryInfo;
47
import com.electric.chargingpile.data.Zhan;
48 48
import com.electric.chargingpile.manager.ProfileManager;
49 49
import com.electric.chargingpile.util.BarColorUtil;
50 50
import com.electric.chargingpile.util.DBOpenHandler;
51
import com.nostra13.universalimageloader.core.DisplayImageOptions;
52
import com.nostra13.universalimageloader.core.ImageLoader;
53
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
54
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
55 51
import com.umeng.analytics.MobclickAgent;
56 52

57 53
import java.util.ArrayList;
@ -66,10 +62,9 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
66 62
    private ImageView ivClear;
67 63
    private ListView lvContent;
68 64
    private SearchAdapter adapter;
69
    private List<Map<String, String>> list = new ArrayList<Map<String, String>>();
70
    private List<Map<String, String>> history_list = new ArrayList<Map<String, String>>();
71
    private List<Zhan> mList = new ArrayList<Zhan>();
72
    private List<HistoryInfo> hList = new ArrayList<HistoryInfo>();
65
    private List<Map<String, String>> addressList = new ArrayList<Map<String, String>>();
66
    private List<Map<String, String>> addressAllList = new ArrayList<Map<String, String>>();
67
    private List<HistoryInfo> historyInfoList = new ArrayList<HistoryInfo>();
73 68
    private HistoryInfo history;
74 69

75 70
    private Map<String, String> map;
@ -118,16 +113,16 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
118 113
                int[] to = {R.id.search_name, R.id.search_address};
119 114

120 115

121
                hList.clear();
116
                historyInfoList.clear();
122 117
                while (c.moveToNext()) {
123 118
                    history = new HistoryInfo();
124 119
                    history.setIds(c.getString(c.getColumnIndex("keyword")));
125 120
                    history.setJing(c.getString(c.getColumnIndex("jing")));
126 121
                    history.setWei(c.getString(c.getColumnIndex("wei")));
127
                    hList.add(history);
122
                    historyInfoList.add(history);
128 123
                }
129 124

130
                SimpleCursorAdapter adapter = new SimpleCursorAdapter(SearchActivity.this, R.layout.history_item, c, from, to);
125
                SimpleCursorAdapter adapter = new SimpleCursorAdapter(SearchActivity.this, R.layout.history_item, c, from, to, 0);
131 126
                historyList.setAdapter(adapter);
132 127
            }
133 128
        });
@ -153,8 +148,8 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
153 148
                    historyList.setVisibility(View.GONE);
154 149
                    ivClear.setVisibility(View.VISIBLE);
155 150
                } else {
156
                    list.clear();
157
                    mList.clear();
151
                    addressList.clear();
152
                    addressAllList.clear();
158 153
                    historyList.setVisibility(View.VISIBLE);
159 154
                    lvContent.setVisibility(View.GONE);
160 155
                    ivClear.setVisibility(View.GONE);
@ -222,7 +217,7 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
222 217

223 218
            }
224 219
        });
225
        adapter = new SearchAdapter(this, list);
220
        adapter = new SearchAdapter(this, addressList);
226 221
        lvContent.setAdapter(adapter);
227 222

228 223
        // 点击历史记录
@ -230,10 +225,10 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
230 225
            @Override
231 226
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
232 227
                Intent intent = new Intent();
233
                intent.putExtra("zhan_name", hList.get(position).getIds());
234
                intent.putExtra("jing", hList.get(position).getJing());
235
                intent.putExtra("wei", hList.get(position).getWei());
236
                ProfileManager.getInstance().setSearchAddress(getApplicationContext(), hList.get(position).getIds());
228
                intent.putExtra("zhan_name", historyInfoList.get(position).getIds());
229
                intent.putExtra("jing", historyInfoList.get(position).getJing());
230
                intent.putExtra("wei", historyInfoList.get(position).getWei());
231
                ProfileManager.getInstance().setSearchAddress(getApplicationContext(), historyInfoList.get(position).getIds());
237 232
                setResult(101, intent);
238 233
                finish();
239 234

@ -251,10 +246,10 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
251 246
                db.queryOne(etSearch.getText().toString());
252 247
                ContentValues values = new ContentValues();
253 248
                values.put("time", System.currentTimeMillis());
254
                values.put("keyword", list.get(position).get("name"));
255
                values.put("type", list.get(position).get("address"));
256
                values.put("jing", list.get(position).get("jing"));
257
                values.put("wei", list.get(position).get("wei"));
249
                values.put("keyword", addressList.get(position).get("name"));
250
                values.put("type", addressList.get(position).get("address"));
251
                values.put("jing", addressList.get(position).get("jing"));
252
                values.put("wei", addressList.get(position).get("wei"));
258 253
                db.insert(values);
259 254

260 255
                Cursor c = db.query();
@ -267,10 +262,10 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
267 262
                SimpleCursorAdapter historyAdapter = new SimpleCursorAdapter(SearchActivity.this, R.layout.history_item, c, from, to, 0);
268 263
                historyList.setAdapter(historyAdapter);
269 264
                Intent intent = new Intent();
270
                intent.putExtra("zhan_name", list.get(position).get("name"));
271
                intent.putExtra("jing", list.get(position).get("jing"));
272
                intent.putExtra("wei", list.get(position).get("wei"));
273
                ProfileManager.getInstance().setSearchAddress(getApplicationContext(), list.get(position).get("name"));
265
                intent.putExtra("zhan_name", addressList.get(position).get("name"));
266
                intent.putExtra("jing", addressList.get(position).get("jing"));
267
                intent.putExtra("wei", addressList.get(position).get("wei"));
268
                ProfileManager.getInstance().setSearchAddress(getApplicationContext(), addressList.get(position).get("name"));
274 269
                setResult(101, intent);
275 270
                View v = getWindow().peekDecorView();
276 271
                if (v != null) {
@ -300,13 +295,13 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
300 295
        }
301 296

302 297

303
        hList.clear();
298
        historyInfoList.clear();
304 299
        while (c.moveToNext()) {
305 300
            history = new HistoryInfo();
306 301
            history.setIds(c.getString(c.getColumnIndex("keyword")));
307 302
            history.setJing(c.getString(c.getColumnIndex("jing")));
308 303
            history.setWei(c.getString(c.getColumnIndex("wei")));
309
            hList.add(history);
304
            historyInfoList.add(history);
310 305
        }
311 306

312 307
        String[] from = {"keyword", "type"};
@ -367,8 +362,8 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
367 362
            case R.id.iv_search_clear:
368 363
                ivClear.setVisibility(View.GONE);
369 364
                etSearch.setText("");
370
                list.clear();
371
                mList.clear();
365
                addressList.clear();
366
                addressAllList.clear();
372 367
                adapter.notifyDataSetChanged();
373 368
                lvContent.setVisibility(View.GONE);
374 369
                historyList.setVisibility(View.VISIBLE);
@ -397,26 +392,32 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
397 392
                if (result.getQuery().equals(query)) {// 是否是同一条
398 393
                    poiResult = result;
399 394
                    // 取得搜索到的poiitems有多少页
400
                    List<PoiItem> mList = poiResult.getPois();// 取得第一页的poiitem数据,页数从数字0开始
395
                    List<PoiItem> poisList = poiResult.getPois();// 取得第一页的poiitem数据,页数从数字0开始
401 396
                    List<SuggestionCity> suggestionCities = poiResult.getSearchSuggestionCitys();// 当搜索不到poiitem数据时,会返回含有搜索关键字的城市信息
402 397

403
                    if (mList != null && mList.size() > 0) {
404
                        list.clear();
398
                    if (poisList != null && poisList.size() > 0) {
399
                        addressList.clear();
400
                        addressAllList.clear();
405 401
                        try {
406
                            for (int i = 0; i < mList.size(); i++) {
402
                            for (int i = 0; i < poisList.size(); i++) {
407 403
                                map = new HashMap<String, String>();
408
                                map.put("name", mList.get(i).getTitle());
409
                                Log.e("name", mList.get(i).getTitle());
410
                                map.put("address", mList.get(i).getSnippet());
411
                                Log.e("address", mList.get(i).getSnippet());
412
                                map.put("jing", mList.get(i).getLatLonPoint().getLongitude() + "");
413
                                Log.e("jing", mList.get(i).getLatLonPoint().getLongitude() + "");
414
                                map.put("wei", mList.get(i).getLatLonPoint().getLatitude() + "");
415
                                Log.e("wei", mList.get(i).getLatLonPoint().getLatitude() + "");
404
                                map.put("name", poisList.get(i).getTitle());
405
                                map.put("address", poisList.get(i).getSnippet());
406
                                map.put("jing", poisList.get(i).getLatLonPoint().getLongitude() + "");
407
                                map.put("wei", poisList.get(i).getLatLonPoint().getLatitude() + "");
416 408
                                map.put("url", "");
417
                                list.add(map);
409
                                addressAllList.add(map);
410

411
                            }
412

413
                            for (Map<String, String> address : addressAllList) {
414
                                addressList.add(address);
415
                                if (addressList.size() == 5) {
416
                                    break;
417
                                }
418 418
                            }
419
                            if (list != null && list.size() > 0) {
419

420
                            if (addressList != null && addressList.size() > 0) {
420 421
                                runOnUiThread(new Runnable() {
421 422
                                    @Override
422 423
                                    public void run() {
@ -430,7 +431,8 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
430 431
                        }
431 432
                    } else {
432 433
                        Toast.makeText(SearchActivity.this, "抱歉,未找到结果", Toast.LENGTH_SHORT).show();
433
                        list.clear();
434
                        addressList.clear();
435
                        addressAllList.clear();
434 436
                        adapter.notifyDataSetChanged();
435 437
                    }
436 438
                }
@ -471,27 +473,53 @@ public class SearchActivity extends Activity implements OnClickListener, Inputti
471 473

472 474
        @Override
473 475
        public View getView(int position, View convertView, ViewGroup parent) {
474
            ViewHolder viewHolder = null;
475
            if (convertView == null) {
476
                convertView = LayoutInflater.from(context).inflate(R.layout.item_search, null);
477
                viewHolder = new ViewHolder();
478
                viewHolder.name = (TextView) convertView.findViewById(R.id.search_name);
479
                viewHolder.address = (TextView) convertView.findViewById(R.id.search_address);
480
                viewHolder.zhan = (ImageView) convertView.findViewById(R.id.search_zhan);
481
                convertView.setTag(viewHolder);
482
            } else {
483
                viewHolder = (ViewHolder) convertView.getTag();
476
            if (addressList.size() > 0 && position < addressList.size()) {
477
                ViewHolder viewHolder = null;
478
                if (convertView == null) {
479
                    convertView = LayoutInflater.from(context).inflate(R.layout.item_search, null);
480
                    viewHolder = new ViewHolder();
481
                    viewHolder.name = convertView.findViewById(R.id.search_name);
482
                    viewHolder.address = convertView.findViewById(R.id.search_address);
483
                    viewHolder.header_title = convertView.findViewById(R.id.header_title);
484
                    viewHolder.query_all_addresses = convertView.findViewById(R.id.query_all_addresses);
485
                    convertView.setTag(viewHolder);
486
                } else {
487
                    viewHolder = (ViewHolder) convertView.getTag();
488
                }
489

490
                String name = list.get(position).get("name");
491
                String address = list.get(position).get("address");
492
                name = name.replace(keyWord, "<font color=\"#1BB637\">" + keyWord + "</font>");
493
                address = address.replace(keyWord, "<font color=\"#1BB637\">" + keyWord + "</font>");
494
                viewHolder.name.setText(Html.fromHtml(name, Html.FROM_HTML_MODE_LEGACY));
495
                viewHolder.address.setText(Html.fromHtml(address, Html.FROM_HTML_MODE_LEGACY));
496

497
                if (position == 0) {
498
                    viewHolder.header_title.setVisibility(View.VISIBLE);
499
                    viewHolder.header_title.setText(keyWord + "相关目的地");
500
                } else {
501
                    viewHolder.header_title.setVisibility(View.GONE);
502
                }
503

504
                if (position == addressList.size() - 1 && addressAllList.size() > 5) {
505
                    viewHolder.query_all_addresses.setVisibility(View.VISIBLE);
506
                } else {
507
                    viewHolder.query_all_addresses.setVisibility(View.GONE);
508
                }
509
                viewHolder.query_all_addresses.setOnClickListener(new View.OnClickListener() {
510

511
                    @Override
512
                    public void onClick(View v) {
513
                        // TODO by hyg add
514
                    }
515
                });
484 516
            }
485
            viewHolder.name.setText(list.get(position).get("name"));
486
            viewHolder.address.setText(list.get(position).get("address"));
487 517

488
            viewHolder.zhan.setVisibility(View.GONE);
489 518
            return convertView;
490 519
        }
491 520

492 521
        class ViewHolder {
493
            TextView name, address;
494
            ImageView zhan;
522
            TextView name, address, header_title, query_all_addresses;
495 523
        }
496 524
    }
497 525


+ 18 - 0
app/src/main/java/com/electric/chargingpile/data/RecommendZhan.java

@ -54,7 +54,25 @@ public class RecommendZhan {
54 54
    private String belong_attribute;
55 55
    private String park_location;
56 56
    private String stop_cost;
57
    private String fenshi_is;
57 58
59
    public String getFenshi_info() {
60
        return fenshi_info;
61
    }
62
63
    public void setFenshi_info(String fenshi_info) {
64
        this.fenshi_info = fenshi_info;
65
    }
66
67
    private String fenshi_info;
68
69
    public String getFenshi_is() {
70
        return fenshi_is;
71
    }
72
73
    public void setFenshi_is(String fenshi_is) {
74
        this.fenshi_is = fenshi_is;
75
    }
58 76
59 77
    public String getId() {
60 78
        return id;

+ 4 - 0
app/src/main/res/drawable/list_item_divider.xml

@ -0,0 +1,4 @@
1
<?xml version="1.0" encoding="utf-8"?>
2
<inset xmlns:android="http://schemas.android.com/apk/res/android"
3
    android:drawable="@color/lineColor"
4
    android:insetLeft="15dp"></inset>

+ 1 - 3
app/src/main/res/layout/activity_search.xml

@ -158,8 +158,6 @@
158 158
        android:layout_weight="9.8"
159 159
        android:background="@color/white"
160 160
        android:cacheColorHint="@color/transparent"
161
        android:divider="#dddddd"
162
        android:dividerHeight="0.5dp"
163 161
        android:fadingEdge="none"
164 162
        android:listSelector="@color/transparent" />
165 163

@ -170,7 +168,7 @@
170 168
        android:layout_weight="9.8"
171 169
        android:background="@color/white"
172 170
        android:cacheColorHint="@color/transparent"
173
        android:divider="#dddddd"
171
        android:divider="@drawable/list_item_divider"
174 172
        android:dividerHeight="0.5dp"
175 173
        android:fadingEdge="none"
176 174
        android:listSelector="@color/transparent" />

+ 83 - 53
app/src/main/res/layout/item_search.xml

@ -1,67 +1,97 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3
    xmlns:tools="http://schemas.android.com/tools"
3 4
    android:layout_width="match_parent"
4 5
    android:layout_height="wrap_content"
5 6
    android:background="@color/white"
6 7
    android:orientation="vertical">
7 8

8
    <RelativeLayout
9
        android:id="@+id/search_real"
10
        android:layout_width="wrap_content"
11
        android:layout_height="wrap_content">
12

13
        <ImageView
14
            android:id="@+id/search_image"
15
            android:layout_width="wrap_content"
16
            android:layout_height="wrap_content"
17
            android:layout_centerVertical="true"
18
            android:layout_marginLeft="16dp"
19
            android:contentDescription="@null"
20
            android:paddingTop="20dp"
21
            android:paddingRight="14dp"
22
            android:paddingBottom="20dp"
23
            android:src="@drawable/icon_search1117" />
24

25
        <ImageView
26
            android:id="@+id/search_zhan"
27
            android:layout_width="60dp"
28
            android:layout_height="60dp"
29
            android:layout_centerVertical="true"
30
            android:layout_margin="10dp"
31
            android:contentDescription="@null"
32
            android:src="@drawable/image_default"
33
            android:visibility="gone" />
34
    </RelativeLayout>
9
    <TextView
10
        android:id="@+id/header_title"
11
        android:layout_width="match_parent"
12
        android:layout_height="wrap_content"
13
        android:background="#F2F2F2"
14
        android:ellipsize="end"
15
        android:maxLines="2"
16
        android:paddingLeft="15dp"
17
        android:paddingTop="4dp"
18
        android:paddingRight="15dp"
19
        android:paddingBottom="4dp"
20
        android:textColor="#a2a2a2"
21
        android:textSize="12sp"
22
        android:visibility="gone"
23
        tools:text="朝阳相关目的地"
24
        tools:visibility="visible" />
35 25

36 26
    <LinearLayout
37
        android:layout_width="fill_parent"
27
        android:layout_width="match_parent"
38 28
        android:layout_height="wrap_content"
39
        android:layout_centerVertical="true"
40
        android:layout_toRightOf="@id/search_real"
41
        android:gravity="center_vertical"
42
        android:orientation="vertical"
43
        android:paddingTop="10dp"
44
        android:paddingRight="10dp"
45
        android:paddingBottom="10dp">
29
        android:orientation="horizontal">
46 30

47
        <TextView
48
            android:id="@+id/search_name"
49
            android:layout_width="fill_parent"
50
            android:layout_height="wrap_content"
51
            android:ellipsize="end"
52
            android:singleLine="true"
53
            android:textColor="@color/title_row"
54
            android:textSize="15sp" />
31
        <LinearLayout
32
            android:layout_width="wrap_content"
33
            android:layout_height="match_parent"
34
            android:gravity="center_vertical">
55 35

56
        <TextView
57
            android:id="@+id/search_address"
58
            android:layout_width="fill_parent"
36
            <ImageView
37
                android:id="@+id/search_image"
38
                android:layout_width="wrap_content"
39
                android:layout_height="wrap_content"
40
                android:layout_centerVertical="true"
41
                android:layout_marginLeft="15dp"
42
                android:layout_marginTop="10dp"
43
                android:layout_marginRight="10dp"
44
                android:layout_marginBottom="10dp"
45
                android:contentDescription="@null"
46
                android:src="@drawable/icon_search1117" />
47
        </LinearLayout>
48

49
        <LinearLayout
50
            android:layout_width="match_parent"
59 51
            android:layout_height="wrap_content"
60
            android:layout_marginTop="2dp"
61
            android:ellipsize="end"
62
            android:maxLines="2"
63
            android:textColor="@color/hintColor"
64
            android:textSize="12sp" />
52
            android:orientation="vertical"
53
            android:paddingTop="10dp"
54
            android:paddingRight="15dp"
55
            android:paddingBottom="8dp">
56

57
            <TextView
58
                android:id="@+id/search_name"
59
                android:layout_width="fill_parent"
60
                android:layout_height="wrap_content"
61
                android:ellipsize="end"
62
                android:singleLine="true"
63
                android:textColor="#151515"
64
                android:textSize="15sp"
65
                tools:text="sdfdsfdsfdsfdsasdasdasdasdasdasdasdsadasdasdasdasf" />
66

67
            <TextView
68
                android:id="@+id/search_address"
69
                android:layout_width="fill_parent"
70
                android:layout_height="wrap_content"
71
                android:layout_marginTop="2dp"
72
                android:ellipsize="end"
73
                android:maxLines="2"
74
                android:textColor="#999999"
75
                android:textSize="12sp"
76
                tools:text="sdfdsfdsfdsfds" />
77
        </LinearLayout>
65 78
    </LinearLayout>
66 79

67
</RelativeLayout>
80
    <View
81
        android:layout_width="match_parent"
82
        android:layout_height="0.5dp"
83
        android:layout_marginLeft="12dp"
84
        android:background="#DDDDDD" />
85

86
    <TextView
87
        android:id="@+id/query_all_addresses"
88
        android:layout_width="match_parent"
89
        android:layout_height="wrap_content"
90
        android:gravity="center_horizontal"
91
        android:textSize="12sp"
92
        android:textColor="#888888"
93
        android:paddingTop="10dp"
94
        android:paddingBottom="20dp"
95
        android:text="@string/query_all_addresses" />
96

97
</LinearLayout>

+ 147 - 109
app/src/main/res/layout/recommend_charging_station_item.xml

@ -45,20 +45,6 @@
45 45
            app:layout_constraintLeft_toRightOf="@+id/zhan_name"
46 46
            app:layout_constraintTop_toTopOf="parent"
47 47
            tools:visibility="visible" />
48
49
        <Button
50
            android:id="@+id/recommend_nav"
51
            android:layout_width="50dp"
52
            android:layout_height="24dp"
53
            android:background="@drawable/recommend_btn_normal"
54
            android:text="导航"
55
            android:textColor="#83d287"
56
            android:textSize="13sp"
57
            app:layout_constraintBottom_toBottomOf="parent"
58
            app:layout_constraintRight_toRightOf="parent"
59
            app:layout_constraintTop_toTopOf="parent" />
60
61
62 48
    </androidx.constraintlayout.widget.ConstraintLayout>
63 49
64 50
    <!-- 评分、距离 -->
@ -98,6 +84,40 @@
98 84
            android:textColor="#888888"
99 85
            android:textSize="12sp"
100 86
            tools:text="4.65km" />
87
88
        <LinearLayout
89
            android:id="@+id/zongjia_container"
90
            android:layout_width="0dp"
91
            android:layout_height="wrap_content"
92
            android:layout_weight="1"
93
            android:gravity="right|bottom"
94
            android:paddingRight="15dp"
95
            tools:background="#00ff00">
96
97
            <TextView
98
                android:layout_width="wrap_content"
99
                android:layout_height="wrap_content"
100
                android:text="¥"
101
                android:textColor="#E02020"
102
                android:textSize="12dp" />
103
104
            <TextView
105
                android:id="@+id/zongjia"
106
                android:layout_width="wrap_content"
107
                android:layout_height="wrap_content"
108
                android:textColor="#E02020"
109
                android:textSize="20dp"
110
                android:textStyle="bold"
111
                tools:text="1.69" />
112
113
            <TextView
114
                android:layout_width="wrap_content"
115
                android:layout_height="wrap_content"
116
                android:text="元/度"
117
                android:textColor="#E02020"
118
                android:textSize="12sp" />
119
120
        </LinearLayout>
101 121
    </LinearLayout>
102 122
103 123
    <!-- 充电成功次数、评论次数 -->
@ -131,6 +151,16 @@
131 151
            android:textColor="#202020"
132 152
            android:textSize="14sp"
133 153
            tools:text="9次评论" />
154
155
        <TextView
156
            android:id="@+id/fenshi_info_textview"
157
            android:layout_width="match_parent"
158
            android:layout_height="match_parent"
159
            android:gravity="center_vertical|right"
160
            android:paddingRight="15dp"
161
            android:textColor="#222222"
162
            android:textSize="10sp"
163
            tools:text="18:00开始 1.45元/度" />
134 164
    </LinearLayout>
135 165
136 166
    <!-- 公共、地下、免费停车属性  价格 -->
@ -179,52 +209,38 @@
179 209
                android:textColor="#828282"
180 210
                android:textSize="11dp" />
181 211
        </LinearLayout>
182
183
        <LinearLayout
184
            android:id="@+id/zongjia_container"
185
            android:layout_width="0dp"
186
            android:layout_height="wrap_content"
187
            android:layout_weight="1"
188
            android:gravity="right|bottom"
189
            android:paddingRight="15dp"
190
            tools:background="#00ff00">
191
192
            <TextView
193
                android:layout_width="wrap_content"
194
                android:layout_height="wrap_content"
195
                android:text="¥"
196
                android:textColor="#555557"
197
                android:textSize="12dp" />
198
199
            <TextView
200
                android:id="@+id/zongjia"
201
                android:layout_width="wrap_content"
202
                android:layout_height="wrap_content"
203
                android:textColor="#555557"
204
                android:textSize="20dp"
205
                tools:text="1.69" />
206
207
            <TextView
208
                android:layout_width="wrap_content"
209
                android:layout_height="wrap_content"
210
                android:text="元/度"
211
                android:textColor="#555557"
212
                android:textSize="12sp" />
213
214
        </LinearLayout>
215 212
    </LinearLayout>
216 213
217
    <!-- 支付方式 -->
218
    <TextView
219
        android:id="@+id/payment_method"
214
    <LinearLayout
220 215
        android:layout_width="match_parent"
221 216
        android:layout_height="wrap_content"
222 217
        android:layout_marginLeft="15dp"
223
        android:layout_marginTop="20dp"
224 218
        android:layout_marginRight="15dp"
225
        android:textColor="#222222"
226
        android:textSize="14sp"
227
        tools:text="可使用本APP扫码支付" />
219
        android:orientation="horizontal">
220
        <!-- 支付方式 -->
221
        <TextView
222
            android:id="@+id/payment_method"
223
            android:layout_width="0dp"
224
            android:layout_height="wrap_content"
225
            android:layout_marginTop="20dp"
226
            android:layout_weight="1"
227
            android:ellipsize="end"
228
            android:lines="1"
229
            android:paddingRight="5dp"
230
            android:textColor="#222222"
231
            android:textSize="14sp"
232
            tools:text="可使用本APP扫码支付" />
233
234
        <Button
235
            android:id="@+id/recommend_nav"
236
            android:layout_width="50dp"
237
            android:layout_height="24dp"
238
            android:layout_marginTop="20dp"
239
            android:background="@drawable/recommend_btn_normal"
240
            android:text="导航"
241
            android:textColor="#83d287"
242
            android:textSize="13sp" />
243
    </LinearLayout>
228 244
229 245
    <View
230 246
        android:layout_width="match_parent"
@ -237,48 +253,58 @@
237 253
        android:layout_width="match_parent"
238 254
        android:layout_height="48dp"
239 255
        android:gravity="center_vertical">
240
241 256
        <LinearLayout
257
242 258
            android:layout_width="0dp"
243
            android:layout_height="match_parent"
259
            android:layout_height="wrap_content"
260
            android:layout_centerInParent="true"
244 261
            android:layout_weight="1"
245
            android:gravity="centerhorizontal">
246
247
            <TextView
248
                android:layout_width="wrap_content"
249
                android:layout_height="wrap_content"
250
                android:text="快充"
251
                android:textColor="#b2b2b2"
252
                android:textSize="12sp" />
262
            android:gravity="center_horizontalhorizontal"
263
            android:orientation="horizontal">
253 264
254
            <TextView
255
                android:id="@+id/fast_num"
265
            <ImageView
256 266
                android:layout_width="wrap_content"
257 267
                android:layout_height="wrap_content"
258
                android:layout_marginLeft="10dp"
259
                android:textColor="#555556"
260
                android:textSize="20sp"
261
                tools:text="5" />
268
                android:layout_gravity="center_vertical"
269
                android:paddingRight="10dp"
270
                android:src="@drawable/fast_icon" />
262 271
263 272
            <TextView
264
                android:id="@+id/fast_free"
273
                android:id="@+id/window_tv_fast_free_label"
265 274
                android:layout_width="wrap_content"
266 275
                android:layout_height="wrap_content"
267
                android:layout_marginLeft="34dp"
268
                android:text="闲"
269
                android:textColor="#b2b2b2"
270
                android:textSize="12sp" />
276
                android:layout_gravity="center_vertical"
277
                android:text="闲"
278
                android:textColor="@color/ui_62"
279
                android:textSize="14sp" />
271 280
272
            <TextView
273
                android:id="@+id/fast_free_num"
281
            <LinearLayout
274 282
                android:layout_width="wrap_content"
275 283
                android:layout_height="wrap_content"
276
                android:layout_marginLeft="10dp"
277
                android:textColor="#555556"
278
                android:textSize="20sp"
279
                tools:text="5" />
280
281
284
                android:layout_gravity="center_vertical"
285
                android:orientation="horizontal">
286
287
                <TextView
288
                    android:id="@+id/window_tv_fast_free_num"
289
                    android:layout_width="wrap_content"
290
                    android:layout_height="wrap_content"
291
                    android:layout_gravity="bottom"
292
                    android:paddingLeft="5dp"
293
                    android:textColor="@color/ui_62"
294
                    android:textSize="18sp"
295
                    android:textStyle="bold"
296
                    tools:text="13" />
297
298
                <TextView
299
                    android:id="@+id/window_tv_fast_total_num"
300
                    android:layout_width="wrap_content"
301
                    android:layout_height="wrap_content"
302
                    android:layout_gravity="bottom"
303
                    android:paddingLeft="1dp"
304
                    android:textColor="@color/ui_68"
305
                    android:textSize="12sp"
306
                    tools:text="/15" />
307
            </LinearLayout>
282 308
        </LinearLayout>
283 309
284 310
        <View
@ -288,43 +314,55 @@
288 314
289 315
        <LinearLayout
290 316
            android:layout_width="0dp"
291
            android:layout_height="match_parent"
317
            android:layout_height="wrap_content"
318
            android:layout_centerInParent="true"
292 319
            android:layout_weight="1"
293
            android:gravity="centerhorizontal">
320
            android:gravity="center_horizontalhorizontal"
321
            android:orientation="horizontal">
294 322
295
            <TextView
323
            <ImageView
296 324
                android:layout_width="wrap_content"
297 325
                android:layout_height="wrap_content"
298
                android:text="慢充"
299
                android:textColor="#b2b2b2"
300
                android:textSize="12sp" />
326
                android:layout_gravity="center_vertical"
327
                android:paddingRight="10dp"
328
                android:src="@drawable/slow_icon" />
301 329
302 330
            <TextView
303
                android:id="@+id/slow_num"
331
                android:id="@+id/window_tv_slow_free_label"
304 332
                android:layout_width="wrap_content"
305 333
                android:layout_height="wrap_content"
306
                android:layout_marginLeft="10dp"
307
                android:textColor="#555556"
308
                android:textSize="20sp"
309
                tools:text="5" />
334
                android:layout_gravity="center_vertical"
335
                android:text="闲"
336
                android:textColor="@color/ui_62"
337
                android:textSize="14sp" />
310 338
311
            <TextView
312
                android:id="@+id/slow_free"
313
                android:layout_width="wrap_content"
314
                android:layout_height="wrap_content"
315
                android:layout_marginLeft="34dp"
316
                android:text="空闲"
317
                android:textColor="#b2b2b2"
318
                android:textSize="12sp" />
319
320
            <TextView
321
                android:id="@+id/slow_free_num"
339
            <LinearLayout
322 340
                android:layout_width="wrap_content"
323 341
                android:layout_height="wrap_content"
324
                android:layout_marginLeft="10dp"
325
                android:textColor="#555556"
326
                android:textSize="20sp"
327
                tools:text="5" />
342
                android:layout_gravity="center_vertical"
343
                android:orientation="horizontal">
344
345
                <TextView
346
                    android:id="@+id/window_tv_slow_free_num"
347
                    android:layout_width="wrap_content"
348
                    android:layout_height="wrap_content"
349
                    android:layout_gravity="bottom"
350
                    android:paddingLeft="5dp"
351
                    android:textColor="@color/ui_62"
352
                    android:textSize="18sp"
353
                    android:textStyle="bold"
354
                    tools:text="13" />
355
356
                <TextView
357
                    android:id="@+id/window_tv_slow_total_num"
358
                    android:layout_width="wrap_content"
359
                    android:layout_height="wrap_content"
360
                    android:layout_gravity="bottom"
361
                    android:paddingLeft="1dp"
362
                    android:textColor="@color/ui_68"
363
                    android:textSize="12sp"
364
                    tools:text="/15" />
365
            </LinearLayout>
328 366
        </LinearLayout>
329 367
    </LinearLayout>
330 368

+ 2 - 2
app/src/main/res/values/strings.xml

@ -205,6 +205,6 @@
205 205
    <string name="refresh_load_succeed">Loading succeeded</string>
206 206
    <string name="refresh_load_succeed_nomore">That\'s All!</string>
207 207
    <string name="refresh_load_fail">Loading failed</string>
208
    <string name="personal_shar_info_content">快来分享吧\n
209
小主大家都很期待你的精彩内容哦</string>
208
    <string name="personal_shar_info_content">快来分享吧\n小主大家都很期待你的精彩内容哦</string>
209
    <string name="query_all_addresses"><u>查看全部目的地</u></string>
210 210
</resources>