使用ListView实现网上订餐首页

 更新时间:2021年01月02日 13:01:21   作者:" 霎那凝眸,三生不忘゛  
这篇文章主要为大家详细介绍了使用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);

 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Android中AsyncTask与handler用法实例分析

    Android中AsyncTask与handler用法实例分析

    这篇文章主要介绍了Android中AsyncTask与handler用法,以实例形式较为详细的分析了Android中AsyncTask与handler的功能、用法与相关注意事项,并附带完整实例源码供读者下载,需要的朋友可以参考下
    2015-10-10
  • Android应用开发中CardView的初步使用指南

    Android应用开发中CardView的初步使用指南

    这篇文章主要介绍了Android应用开发中CardView的初步使用指南,CardView主要处理一些卡片型的视图布局,需要的朋友可以参考下
    2016-02-02
  • Android实现底部图片选择Dialog

    Android实现底部图片选择Dialog

    这篇文章主要为大家详细介绍了Android实现底部图片选择Dialog,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • android编程实现设置、打开wifi热点共享供他人连接的方法

    android编程实现设置、打开wifi热点共享供他人连接的方法

    这篇文章主要介绍了android编程实现设置、打开wifi热点共享供他人连接的方法,涉及Android创建WiFi及设置共享的相关实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • Flutter 容器盒子模型的使用示例

    Flutter 容器盒子模型的使用示例

    在网页开发中,有盒子模型,号称统一三端的 Flutter 也不例外,而且和 HTML 的盒子模型几乎是一样的,本篇文章通过简单的例子说明一下 Flutter 的盒子模型,方便以后再做界面时可以更好的理解布局。
    2021-05-05
  • 系统应用根据Uri授予权限方法详解

    系统应用根据Uri授予权限方法详解

    这篇文章主要为大家介绍了系统应用根据Uri授予权限方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09
  • Android Jetpack组件中LiveData的优劣

    Android Jetpack组件中LiveData的优劣

    LiveData是Jetpack组件的一部分,更多的时候是搭配ViewModel来使用,相对于Observable,LiveData的最大优势是其具有生命感知的,换句话说,LiveData可以保证只有在组件( Activity、Fragment、Service)处于活动生命周期状态的时候才会更新数据
    2023-04-04
  • android Matrix实现图片随意放大缩小或拖动

    android Matrix实现图片随意放大缩小或拖动

    这篇文章主要为大家详细介绍了android Matrix实现图片随意放大缩小或拖动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-02-02
  • Android Studio一直处于Building的两种解决方法

    Android Studio一直处于Building的两种解决方法

    很多朋友都遇到过打开别人的项目一直处于Building‘XXX’Gradle project info的情况。下面小编给大家带来了Android Studio一直处于Building的解决方法,感兴趣的朋友一起看看吧
    2018-08-08
  • Android中捕获全局异常实现代码

    Android中捕获全局异常实现代码

    这篇文章主要介绍了Android中捕获全局异常实现代码,本文给出了2种方法,以及对应实现代码,需要的朋友可以参考下
    2015-04-04

最新评论