UI基础控件综合案例之Java代码编写
2017-06-11 23:06
519 查看
UI基础控件综合案例之案例介绍及案例分析
UI基础控件综合案例之XML布局编写
UI基础控件综合案例之XML布局编写
Java public class Person { private String name; private String sex; Food food; public Person() { } public Person(String name, String sex, Food food) { super(); this.name = name; this.sex = sex; this.food = food; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public Food getFood() { return food; } public void setFood(Food food) { this.food = food; } @Override public String toString() { return "姓名:" + name + ", 性别:" + sex + food ; } }
Java public class Food { private String name; private boolean hot; private boolean fish; private boolean sour; private int price; private int pic; public Food(String name, int price, int pic, boolean hot, boolean fish, boolean sour) { super(); this.name = name; this.hot = hot; this.fish = fish; this.sour = sour; this.price = price; this.pic = pic; } public String getName() { return name; } public void setName(String name) { this.name = name; } public boolean isHot() { return hot; } public void setHot(boolean hot) { this.hot = hot; } public boolean isFish() { return fish; } public void setFish(boolean fish) { this.fish = fish; } public boolean isSour() { return sour; } public void setSour(boolean sour) { this.sour = sour; } public int getPrice() { return price; } public void setPrice(int price) { this.price = price; } public int getPic() { return pic; } public void setPic(int pic) { this.pic = pic; } @Override public String toString() { return ",菜名:" + name + ", 辣:" + hot + ", 海鲜:" + fish + ", 酸:" + sour + ", 价格:" + price; } }
Java import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.ImageView; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.SeekBar; import android.widget.SeekBar.OnSeekBarChangeListener; import android.widget.Toast; import android.widget.ToggleButton; /* * 步骤 * 1、初始化控件 * 2、初始化数据 * 3、为控件添加监听器 */ public class MainActivity extends Activity { private EditText name; private RadioGroup sex; private CheckBox hot, fish, sour; private SeekBar seekBar; private Button find; private ToggleButton toggleButton; private List<Food> lists_food; private List<Food> lists_get; private Person person; private RadioGroupListener radioGroupListener; private boolean isFish; private boolean isHot; private boolean isSour; private CheckBoxListener checkBoxListener; private int price = 30; private SeekBarListener seekBarListener; private ButtonListener buttonListener; private int count = 0; private ImageView iv_pic; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_food); // 初始化控件 initView(); // 初始化数据 initData(); // 为控件添加监听器 setListener(); } private void initView() { name = (EditText) findViewById(R.id.et_name); sex = (RadioGroup) findViewById(R.id.rg_sex); hot = (CheckBox) findViewById(R.id.cb_hot); fish = (CheckBox) findViewById(R.id.cb_fish); sour = (CheckBox) findViewById(R.id.cb_sour); seekBar = (SeekBar) findViewById(R.id.sb_price); seekBar.setProgress(30); find = (Button) findViewById(R.id.btn_find); toggleButton = (ToggleButton) findViewById(R.id.tb_click); iv_pic = (ImageView) findViewById(R.id.iv_pic); } private void initData() { person = new Person(); lists_food = new ArrayList<Food>(); lists_get = new ArrayList<Food>(); lists_food.add(new Food("麻辣香锅", 55, R.drawable.malaxiangguo, true, false, false)); lists_food.add(new Food("上汤娃娃菜", 28, R.drawable.wawacai, false, false, false)); lists_food.add(new Food("水煮鱼", 48, R.drawable.shuizhuyu, true, true, false)); lists_food.add(new Food("清蒸鲈鱼", 68, R.drawable.qingzhengluyu, false, true, false)); lists_food.add(new Food("麻辣火锅", 80, R.drawable.malahuoguo, true, true, false)); lists_food.add(new Food("桂林米粉", 15, R.drawable.guilin, false, false, false)); lists_food.add(new Food("红烧肉", 60, R.drawable.hongshaorou, false, false, false)); lists_food.add(new Food("木须肉", 40, R.drawable.muxurou, false, false, false)); lists_food.add(new Food("西芹炒百合", 38, R.drawable.xiqin, false, false, false)); lists_food.add(new Food("酸菜牛肉面", 35, R.drawable.suncainiuroumian, false, false, true)); lists_food.add(new Food("酸菜汤", 40, R.drawable.suanlatang, true, false, true)); } private void setListener() { radioGroupListener = new RadioGroupListener(); sex.setOnCheckedChangeListener(radioGroupListener); checkBoxListener = new CheckBoxListener(); fish.setOnCheckedChangeListener(checkBoxListener); hot.setOnCheckedChangeListener(checkBoxListener); sour.setOnCheckedChangeListener(checkBoxListener); seekBarListener = new SeekBarListener(); seekBar.setOnSeekBarChangeListener(seekBarListener); buttonListener = new ButtonListener(); find.setOnClickListener(buttonListener); toggleButton.setOnClickListener(buttonListener); } class RadioGroupListener implements OnCheckedChangeListener { @Override public void onCheckedChanged(RadioGroup arg0, int arg1) { // 当用户选择当前RadioGroup组的Button时被触发 switch (arg1) { case R.id.rb_man: person.setSex("男"); break; case R.id.rb_woman: person.setSex("女"); break; } System.out.println("性别:" + person.getSex()); } } class CheckBoxListener implements android.widget.CompoundButton.OnCheckedChangeListener { @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) { // 当控件状态改变时被触发 CheckBox cbBox = (CheckBox) arg0; switch (cbBox.getId()) { case R.id.cb_fish: if (arg1) { isFish = true; } else { isFish = false; } break; case R.id.cb_hot: if (arg1) { isHot = true; } else { isHot = false; } break; case R.id.cb_sour: if (arg1) { isSour = true; } else { isSour = false; } break; } System.out.println("当前喜好:" + "辣" + isHot + "海鲜:" + isFish + "酸:" + isSour); } } class SeekBarListener implements OnSeekBarChangeListener { @Override public void onStopTrackingTouch(SeekBar arg0) { // TODO Auto-generated method stub price = arg0.getProgress(); Toast.makeText(MainActivity.this, "价格:" + price, 100).show(); } @Override public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) { } @Override public void onStartTrackingTouch(SeekBar arg0) { } } class ButtonListener implements OnClickListener { @Override public void onClick(View arg0) { switch (arg0.getId()) { case R.id.btn_find: // 清空lists_get,count设置为0 lists_get.clear(); count = 0; // 当用户点击寻找时,需要筛查信息,并把结果显示在imageView上 checkData(); if (!lists_get.isEmpty()) { // 如果lists_get不空就显示第一条数据图片 showPic(0); } else { Toast.makeText(MainActivity.this, "未找到相关菜品", Toast.LENGTH_SHORT).show(); iv_pic.setImageResource(R.drawable.ic_launcher); } //toggleButton.setChecked(true); break; case R.id.tb_click: if (toggleButton.isChecked()) { // 如果是选中状态为下一页功能 if (count < lists_get.size() - 1) { // 如果count没有到末尾就自增并显示下一张图片 count++; showPic(count); } else { // count到末尾后重置count并显示提示信息。 count = 0; showPic(count); Toast.makeText(MainActivity.this, "因为已到末尾,所以从头显示", Toast.LENGTH_SHORT).show(); } } else {// 未选中的话将菜品信息和用户名封装到person对象中,显示内容 person.setName(name.getText().toString()); person.setFood((Food) (lists_get.get(count))); Toast.makeText(MainActivity.this, person.toString(), Toast.LENGTH_SHORT).show(); } break; } } } private void checkData() { // 找出菜品 for (int i = 0; i < lists_food.size(); i++) { Food food = lists_food.get(i); if ((food.getPrice() <= price) && (food.isFish() == isFish) && (food.isHot() == isHot) && (food.isSour() == isSour)) { lists_get.add(food); } } System.out.println("******************" + lists_get.size()); } // 显示图片的方法 private void showPic(int count) { // count值为要显示lists_get列表中第几个菜品的图片 // count值从0开始,表示显示lists_get列表中第一次菜品的图片 iv_pic.setImageResource(lists_get.get(count).getPic()); } }
相关文章推荐
- UI基础控件综合案例之XML布局编写
- UI基础控件综合案例之案例介绍及案例分析
- iOS开发UI基础—10常用UI控件综合示例之QQ音乐
- iOS开发之有趣的UI —— 基础控件与经典案例
- 《Spark商业案例与性能调优实战100课》第18课:商业案例之NBA篮球运动员大数据分析代码实战之核心基础数据项编写
- java多线程基础知识:如何编写线程安全代码
- Android UI基础java代码基础点
- java线程基础巩固---Thread API综合实战之编写ThreadService实现暴力结束线程
- 读书笔记--编写高质量代码 改善java程序的151个建议(一)基础
- 黑马程序猿——JAVA基础------多重循环语句案例代码
- UIKit基础:9.使用代码创建属于我们的UI控件
- Java基础知识强化92:日期工具类的编写和测试案例
- 【iOS】UI基础Day3-笔记(UIButton、购物车综合案例)
- 黑马程序员——致java初学者:代码编写完整流程(兔子问题案例)
- 编写高质量代码改善java程序的151个建议——[1-3]基础?亦是基础
- java基础案例:static(静态)代码块
- JAVA基础:JAVA代码编写的30条建议
- UI基础-基础控件-0324-浏览图片案例与改进版(UILabel、UIButton、UIImageView的应用)
- 实战案例-- 用Java编写基础小程序
- Java语言基础1--综合案例(数字加密问题):