使用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。

推薦閱讀: