使用ListView实现网上订餐首页
" 霎那凝眸,三生不忘゛ 人气:0这篇文章主要为大家详细介绍了使用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); } }
加载全部内容