使用ListView實現網上訂餐首頁
本文實例為大傢分享瞭ListView實現網上訂餐首頁的具體代碼,供大傢參考,具體內容如下
效果圖
佈局文件
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".SimpleAdapterActivity"> <include layout="@layout/title"/> <ImageView android:layout_width="match_parent" android:layout_height="200dp" android:src="@drawable/chinaweidao"/> <ListView android:dividerHeight="5dp" android:id="@+id/lv_listview" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" /> </LinearLayout>
android:layout_width="match_parent" android:layout_height="100dp" android:layout_margin="10dp"> <ImageView android:id="@+id/food_image" android:layout_width="80dp" android:layout_height="80dp"/> <LinearLayout android:orientation="vertical" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="3"> <TextView android:id="@+id/food_name" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginLeft="10dp" android:text="標題" android:textSize="16sp" android:gravity="center_vertical" android:textColor="#000000"/> <TextView android:id="@+id/food_content" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginLeft="10dp" android:text="內容" android:textSize="12sp" android:gravity="center_vertical"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content"> <include layout="@layout/welfarestyle"/> <TextView android:id="@+id/tv_welfare" android:layout_marginLeft="10dp" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical"/> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1"> <TextView android:id="@+id/tv_time" android:layout_width="wrap_content" android:layout_height="match_parent" android:text="時間" android:textSize="10sp" android:gravity="center_vertical"/> </LinearLayout>
title.xml
android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/title_style"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:text="店鋪" android:textColor="#ffffff" android:textSize="20sp" android:textStyle="bold" android:gravity="center"/>
設置福利圖標的樣式
android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_marginLeft="10dp" android:layout_width="30dp" android:layout_height="20dp" android:text="福利" android:textColor="#fff" android:background="@drawable/welfare"/>
點擊listview後跳轉的頁面佈局
android:layout_width="match_parent" android:layout_height="400dp" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_margin="5dp" tools:context=".FirstActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="菜單" android:layout_margin="10dp" android:textSize="20dp" android:textColor="#000000"/> <ListView android:layout_margin="8dp" android:id="@+id/lv_food" android:layout_width="match_parent" android:layout_height="match_parent"/>
android:layout_width="match_parent" android:layout_height="100dp" android:layout_margin="10dp"> <ImageView android:id="@+id/first_image" android:layout_width="80dp" android:layout_height="80dp"/> <LinearLayout android:orientation="vertical" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="3"> <TextView android:id="@+id/first_name" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginLeft="10dp" android:text="標題" android:textSize="16sp" android:gravity="center_vertical" android:textColor="#000000"/> <TextView android:id="@+id/first_ingredient" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginLeft="10dp" android:text="內容" android:textSize="12sp" android:textColor="#000000" android:gravity="center_vertical"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">/> <TextView android:id="@+id/tv_money" android:layout_marginLeft="10dp" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:text="價格"/> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1.5"> <Button android:id="@+id/first_btn_join" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="加入購物車" android:background="@android:drawable/btn_default" android:layout_gravity="center_vertical" /> </LinearLayout> android:layout_width="match_parent" android:layout_height="100dp" android:layout_margin="10dp"> <ImageView android:id="@+id/first_image" android:layout_width="80dp" android:layout_height="80dp"/> <LinearLayout android:orientation="vertical" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="3"> <TextView android:id="@+id/first_name" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginLeft="10dp" android:text="標題" android:textSize="16sp" android:gravity="center_vertical" android:textColor="#000000"/> <TextView android:id="@+id/first_ingredient" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:layout_marginLeft="10dp" android:text="內容" android:textSize="12sp" android:textColor="#000000" android:gravity="center_vertical"/> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content">/> <TextView android:id="@+id/tv_money" android:layout_marginLeft="10dp" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_vertical" android:text="價格"/> </LinearLayout> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1.5"> <Button android:id="@+id/first_btn_join" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="加入購物車" android:background="@android:drawable/btn_default" android:layout_gravity="center_vertical" /> </LinearLayout>
java文件
public class SimpleAdapterActivity extends AppCompatActivity { private ListView listView; private List<Map<String,Object>> data = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_view); // ActionBar actionBar = getSupportActionBar(); if (actionBar!= null){ actionBar.hide(); } initView(); } public void initView(){ listView = findViewById(R.id.lv_listview); Map<String, Object> map = new HashMap<String, Object>(); map.put("icon", R.drawable.shop1); map.put("name", "蛋糕房"); map.put("content", "月售996\n起送¥35|配送¥5"); map.put("welfare","進店可獲得一個香草冰淇淋"); map.put("time","配送約2.5小時"); data.add(map); map = new HashMap<String, Object>(); map.put("icon", R.drawable.shop2); map.put("name", "爪哇咖啡.西餐.酒吧"); map.put("content", "月售11\n起送¥20|配送¥7"); map.put("welfare","進店即可送一杯拿鐵咖啡"); map.put("time","配送約40分鐘"); data.add(map); map = new HashMap<String, Object>(); map.put("icon", R.drawable.shop3); map.put("name", "必勝客"); map.put("content", "月售10\n起送¥15|配送¥6"); map.put("welfare","下單即可獲得一個¥5優惠券"); map.put("time","配送約20分鐘"); data.add(map); map = new HashMap<String, Object>(); map.put("icon", R.drawable.shop4); map.put("name", "艾尚夜宵"); map.put("content", "月售496\n起送¥20|配送¥13"); map.put("welfare","下單即可獲得一個¥15優惠券"); map.put("time","配送約42分鐘"); data.add(map); map = new HashMap<String, Object>(); map.put("icon", R.drawable.shop5); map.put("name", "上島咖啡"); map.put("content", "月售800\n起送¥30|配送¥10"); map.put("welfare","下單即可獲得一個¥30優惠券"); map.put("time","配送約30分鐘"); data.add(map); SimpleAdapter adapter = new SimpleAdapter(this, data,R.layout.listview_item,new String[]{"icon","name","content","welfare","time"}, new int []{R.id.food_image,R.id.food_name,R.id.food_content,R.id.tv_welfare,R.id.tv_time}); //設置listview的適配器,這裡使用SimpleAdapter; listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { Map map = data.get(i); /* Toast.makeText(SimpleAdapterActivity.this, "你點擊瞭"+map.get("name")+map.get("content"), Toast.LENGTH_SHORT).show();*/ Intent intent = new Intent(SimpleAdapterActivity.this,FirstActivity.class); startActivity(intent); } }); } }
public class FirstActivity extends AppCompatActivity { private Button btnjoin; private ListView listView; private List<Map<String,Object>> data = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); btnjoin = findViewById(R.id.first_btn_join); initView(); } public void initView(){ listView = findViewById(R.id.lv_food); Map<String, Object> map = new HashMap<String, Object>(); map.put("icon", R.drawable.food1); map.put("name", "招牌豐收碩果12寸"); map.put("ingredient", "水果、奶油、面包、雞蛋"); map.put("money","¥198"); map.put("btn","加入購物車"); data.add(map); map = new HashMap<String, Object>(); map.put("icon", R.drawable.food2); map.put("name", "玫瑰花創意蛋糕"); map.put("ingredient", "玫瑰花、奶油、雞蛋"); map.put("money","¥148"); map.put("btn","加入購物車"); data.add(map); map = new HashMap<String, Object>(); map.put("icon", R.drawable.food3); map.put("name", "佈朗熊與可妮"); map.put("ingredient", "奶油、巧克力、果粒夾層"); map.put("money","¥98"); map.put("btn","加入購物車"); data.add(map); SimpleAdapter adapter = new SimpleAdapter(this, data,R.layout.activity_first_list,new String[]{"icon","name","ingredient","money","btn"}, new int []{R.id.first_image,R.id.first_name,R.id.first_ingredient,R.id.tv_money,R.id.first_btn_join}); //設置listview的適配器,這裡使用SimpleAdapter; listView.setAdapter(adapter); } }
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Android ListView仿微信聊天界面
- Android studio六大基本佈局詳解
- Android ListView 實例講解清晰易懂
- Android 控件GridView使用案例講解
- Android自定義彈窗提示效果