使用ListView实现网上订餐首页

 更新时间:2021年1月2日 21:51  点击:2085

本文实例为大家分享了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);

 }
}

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

[!--infotagslink--]

相关文章