要求:制作如图所示的点菜界面

需要id的有:请输入姓名EditText(name);RadioGroup(gender),男RadioButton(man),女RadioButton(lady);辣CheckBox(la),海鲜CheckBox(haixian),酸CheckBox(suan);进度条SeekBar(sb),0TextView(yusuan);寻找菜品Button(xunzhao);图片ImageView(img,iv);下一个Button(next)。

把图片放入drawable


总体上:

在activity_main.xml中

开始选餐

<!--    开始选餐--><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:background="#00FF00"android:gravity="center"android:text="开始选餐"android:textSize="30sp"></TextView>

姓名栏

EditText中使用权重

    <!--    姓名栏--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="姓名:"android:textSize="30sp"></TextView><EditTextandroid:id="@+id/name"android:layout_width="0sp"android:layout_height="wrap_content"android:layout_weight="1"android:hint="请输入姓名"></EditText></LinearLayout>

性别栏

android:checked="true"设置默认选中“男”

<!--    性别栏--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="性别:"android:textSize="30sp"></TextView><RadioGroupandroid:id="@+id/gender"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:orientation="horizontal"><RadioButtonandroid:id="@+id/man"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="true"android:text="男"></RadioButton><RadioButtonandroid:id="@+id/lady"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="女"></RadioButton></RadioGroup></LinearLayout>

喜好栏

<!--    喜好栏--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="喜好:"android:textSize="30sp"></TextView><CheckBoxandroid:id="@+id/la"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:checked="true"android:text="辣"android:textSize="20sp"></CheckBox><CheckBoxandroid:id="@+id/haixian"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="海鲜"android:textSize="20sp"></CheckBox><CheckBoxandroid:id="@+id/suan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center"android:text="酸"android:textSize="20sp"></CheckBox></LinearLayout>

预算栏

<!--    预算栏--><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="预算:"android:textSize="30sp"></TextView><SeekBarandroid:id="@+id/sb"android:layout_width="0dp"android:layout_height="wrap_content"android:layout_gravity="center"android:layout_weight="1"android:progress="0"></SeekBar><TextViewandroid:id="@+id/yusuan"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="0"android:textSize="20sp"></TextView><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="元"android:textSize="20sp"></TextView></LinearLayout>

寻找菜品

<!--    寻找菜品--><Buttonandroid:id="@+id/xunzhao"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="寻找菜品"></Button>

图片

<!--    图片--><ImageViewandroid:id="@+id/img"android:layout_width="wrap_content"android:layout_height="0dp"android:layout_weight="1"></ImageView>

下一个

<!--    下一个--><Buttonandroid:id="@+id/next"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="下一个"></Button>

在caipin.java中
1.姓名,价格,类别(辣,海鲜,酸),图片路径
2.Generate—Getter and Setter—全选—OK
3.Generate—Constructor—全选—OK

package com.example.myapplication3;public class caipin {private  String name;private  int  price;private  String leibie;private  int lujing;public caipin(String name, int price, String leibie, int lujing) {this.name = name;this.price = price;this.leibie = leibie;this.lujing = lujing;}public caipin() {}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getPrice() {return price;}public void setPrice(int price) {this.price = price;}public String getLeibie() {return leibie;}public void setLeibie(String leibie) {this.leibie = leibie;}public int getLujing() {return lujing;}public void setLujing(int lujing) {this.lujing = lujing;}
}

在MainActivity.java中
1.提成员变量:ctrl+alt+F
2.sb.setOnSeekBarChangeListener:进度条拖动监听事件——改变,开始,结束(yusuan):把seekBar传到 yusuan,获取seekBar.getProgress()—int,yusuan.setText— string类型——yusuan.setText(seekBar.getProgress() + “”);
3.建caipin.java
4.lcp:放菜名,价格,类别(辣,海鲜,酸),图片路径;lc:放筛选出来的数据。
5.xunzhao.setOnClickListener:寻找的监听事件—把喜好(la1,haixian1,suan1)和预算(yuusuan1)作为筛选条件,筛选(for循环)lcp中数据。
6.三元表达式——数据类型 变量名称 = 条件判断 ? 表达式A : 表达式B;
是否选中辣—— String la1 = la.isChecked() == true ? “1” : “0”;——把CheckBox变成String类型,“1”表示类别。la1.equals(lcp.get(i).getLeibie()) :第i个的类别是la1说明选中了第一个
7. next.setOnClickListener:next的监听事件(图片路径);iv.setBackgroundResource(lc.get(index).getLujing());—将index=0;的图片路径传到ImageView;防止越界加if判断,有就显示图片,没有就显示“没有啦”并且不可点击。

package com.example.myapplication3;import androidx.appcompat.app.AppCompatActivity;import android.util.Log;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.RadioGroup;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;import java.util.ArrayList;
import java.util.List;public class MainActivity extends AppCompatActivity {private EditText name;private RadioGroup gender;private CheckBox la;private CheckBox haixian;private CheckBox suan;private TextView yusuan;private List<caipin> lcp;private List<caipin> lc;private Button next;private ImageView iv;private  int index;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);name = findViewById(R.id.name);gender = findViewById(R.id.gender);la = findViewById(R.id.la);haixian = findViewById(R.id.haixian);suan = findViewById(R.id.suan);SeekBar sb = findViewById(R.id.sb);yusuan = findViewById(R.id.yusuan);sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {yusuan.setText(seekBar.getProgress() + "");}});lcp = new ArrayList<caipin>();lcp.add(new caipin("桂林米粉", 18, "1", R.drawable.guilin));lcp.add(new caipin("红烧肉", 32, "2", R.drawable.hongshaorou));lcp.add(new caipin("麻辣火锅", 78, "3", R.drawable.malahuoguo));lcp.add(new caipin("麻辣香锅", 48, "3", R.drawable.malaxiangguo));lcp.add(new caipin("木须肉", 22, "2", R.drawable.muxurou));lcp.add(new caipin("清蒸鲈鱼", 58, "1", R.drawable.qingzhengluyu));lcp.add(new caipin("水煮鱼", 24, "1", R.drawable.shuizhuyu));lcp.add(new caipin("酸辣汤", 8, "2", R.drawable.suanlatang));lcp.add(new caipin("酸菜牛肉面", 89, "3", R.drawable.suncainiuroumian));lcp.add(new caipin("娃娃菜", 45, "1", R.drawable.wawacai));lcp.add(new caipin("西芹", 6, "3", R.drawable.xiqin));Button xunzhao = findViewById(R.id.xunzhao);xunzhao.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {lc = new ArrayList<caipin>();int yusuan1 = Integer.parseInt(yusuan.getText() + "");String la1 = la.isChecked() == true ? "1" : "0";String haixian1 = haixian.isChecked() == true ? "2" : "0";String suan1 = suan.isChecked() == true ? "3" : "0";for (int i = 0; i < lcp.size(); i++) {if ( lcp.get(i).getPrice() <= yusuan1 && (la1.equals(lcp.get(i).getLeibie()) || haixian1.equals(lcp.get(i).getLeibie()) || suan1.equals(lcp.get(i).getLeibie()))) {lc.add(lcp.get(i));}}}});iv = findViewById(R.id.img);next = findViewById(R.id.next);index=0;next.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {if(index <lc.size()) {iv.setBackgroundResource(lc.get(index).getLujing());Toast.makeText(MainActivity.this,lc.get(index).getName(),Toast.LENGTH_LONG).show();index++;}else{next.setText("没有啦");next.setEnabled(false);}}});}}

Android小练习2——制作点菜界面相关推荐

  1. Android Studio 制作微信界面 上

    工程功能介绍 打开app,首先是个闪屏界面(常见于一般打开app时的小广告),设置时间为2s后进入登录界面.在登录界面中,中间可以输入密码,点击登录按钮进入微信的界面.   微信的界面由4个fragm ...

  2. Android 音乐播放器制作(带有通知栏、Widget小挂件)

    Android 音乐播放器制作(带有通知栏显示.Widget小挂件) 我用的开发工具是AndroidStudio,我的手机是Android7.1.2,我的另一个测试手机是Android8.0. 整个项 ...

  3. Android Studio 制作微信界面 下

    主界面 上一篇文章的链接: Android Studio 制作微信界面 上_nazonomaster的博客-CSDN博客https://blog.csdn.net/nazonomaster/artic ...

  4. Android小项目之--前台界面与用户交互的对接 进度条与拖动条(附源码)

    都知道水果公司(苹果)是己尊重用户体验著称的公司,其设计的产品人性化十足,不得不令后来者赞叹,竞相模仿.iphone的成功就是其典型的案例,做为其移动系统的死对头 Google 想要在市场上分得一杯羹 ...

  5. ⭐️Python实用小工具之制作酷炫二维码(有界面、附源码)⭐️

    镇楼图 文章目录 写在前面 制作二维码 安装myqr库 myqr.run()参数详解 制作普通二维码 制作黑白背景二维码 制作彩色背景二维码 制作大边长二维码 制作动态二维码 解析二维码 tkinte ...

  6. AndroidStudio制作欢迎界面与应用图标,使用Android Studio 3.0.1作为开发工具

    点击上方    "黄广达"    ,选择    "置顶公众号" 有趣有内涵的文章第一时间送达! 喝酒I创作I分享 生活中总有些东西值得分享 前言 大家好,我是  ...

  7. PySimpleGUI图形界面绘制及办公自动化小软件的制作

    PySimpleGUI图形界面绘制及办公自动化小软件的制作 1 PySimpleGUI安装 2 PySimpleGUI制作简易弹窗界面 2.1 两种界面设计模式 2.2 制作弹窗 2.3 文字内容弹窗 ...

  8. Android 电影排行榜app制作(可加入观看清单保存)

    Android 电影排行榜app制作(可加入观看清单保存) 第一步:在xml文件上进行主界面的布局 采用LinearLayout布局,添加ImageView控件(电影小图标)实现跳转到观看清单的页面, ...

  9. python拿什么做可视化界面好-python爬虫如何制作可视化界面?(pyqt5环境配置篇)...

    却道天凉好个秋~ pyqt5+python+qtdesigner+pycharm制作一个可视化的GUI爬虫工具 前言: 最近闲来无聊又开始了py之路,这次需要的是制作一个贴吧的关键词搜索相关帖子的工具 ...

最新文章

  1. python出现typeerror原因是_Python 文件添加列表数据后TypeError原因
  2. vivado----fpga硬件调试 (六)----数据导出
  3. 19、计算机图形学——蒙特卡洛路径追踪
  4. 巧用DevExpress GridView导入导出Excel
  5. 有理有据:一篇来自前端同学对后端接口的吐槽!
  6. 合并远程仓库到本地_Git工作区、暂存区、本地仓库和远程仓库科普
  7. 软定时器的原理与创建
  8. python资源百度云_Python Selenium 百度云分享链接资源 批量保存
  9. C++使用boost::bind 订阅消息中的返回函数传入多个参数
  10. iOS 中的视图函数 init initwithnib viewDidLoad viewWillAppear的总结
  11. java 富文本 xss_Jsoup 防止富文本 XSS 攻击
  12. OpenCV_Corner Detect with FastFeatureDetector(基于FAST的角点检测) 及 SUSAN算子
  13. C++--第19课 - 专题三经典问题解析
  14. matlab画圆的命令_matlab画圆
  15. 吴恩达-斯坦福CS229机器学习课程资料与算法的Python实现
  16. icp-ms质量分析器与磁质谱仪
  17. c语言中以只读方式打开,C 中如何以只读方式打开文件
  18. ATX 移动设备共享平台
  19. Excel从身份证号提取生日
  20. 电脑投屏到电视android,电脑怎么投屏到电视?看完这篇文章你就懂了

热门文章

  1. 英语中容易混淆的单词发音: 一
  2. 使用Cubic定制ubuntu系统
  3. 分水岭 matlab代码,分水岭算法MATLAB编程代码解析
  4. unzip unbuntu 中文乱码
  5. 带宽与速度的换算(表达式+例子)
  6. [bigdata] 基于docker 打开hadoop
  7. sysprep无法验证你的windows安装_Sysprep无法验证你的windows 安装。
  8. java中的消息提示框
  9. 游戏服务器网络出现波动排查方法
  10. 使用WebSocket搭建一个智能聊天系统