网站概述怎么写,网站链接优化怎么做,海口seo外包服务,hoperun企业邮箱一、实验目的#xff08;如果代码有错漏#xff0c;可查看源码#xff09; 1.掌握Activity生命周的每个方法。 2.掌握Activity的创建、配置、启动和关闭。 3.掌握Intent和IntentFilter的使用。 4.掌握Activity之间的跳转方式、任务栈和四种启动模式。 5.掌握在Activity中添加…一、实验目的如果代码有错漏可查看源码 1.掌握Activity生命周的每个方法。 2.掌握Activity的创建、配置、启动和关闭。 3.掌握Intent和IntentFilter的使用。 4.掌握Activity之间的跳转方式、任务栈和四种启动模式。 5.掌握在Activity中添加和使用Fragment。 二、实验条件 1.熟悉Java编程语言了解Android应用程序的基本结构掌握XML布局文件的编写了解Activity和Fragment的基本概念。 2.其他准备准备好菜单项的图片资源设计好菜单的数据结构和内容。 三、实验内容 1.搭建菜单界面布局搭建左侧菜单栏界面布局搭建右侧菜单列表界面布局搭建菜单列表界面的条目布局。 2.实现菜单界面功能封装菜品信息的实体类加载左侧菜单栏界面布局编写菜单列表的适配器加载右侧菜单栏界面布局实现显示菜单的效果。 3.运行程序运行程序显示推荐选项的界面效果点击“进店必买选项”显示其对应的界面效果。 4实验过程使用的图片如下 四、实验指导
1.搭建菜单界面布局 (1)订单菜单界面主要包含三部分顶部导航栏、左侧菜单栏和右侧菜单列表。搭建界面布局的步骤 ①创建项目程序导入图片资源素材; ②在res→values目录下创建colors.xml文件添加颜色定义代码如下 ?xml version1.0 encodingutf-8?
resourcescolor namepurple_200#FFBB86FC/colorcolor namepurple_500#FF6200EE/colorcolor namepurple_700#FF3700B3/colorcolor nameteal_200#FF03DAC5/colorcolor nameteal_700#FF018786/colorcolor nameblack#FF000000/colorcolor namewhite#FFFFFFFF/colorcolor namedark_gray#626262/colorcolor namegray#f7f8f9/color/resources ③在res→values目录下创建styles.xml文件定义文本样式代码如下 ?xml version1.0 encodingutf-8?
resourcesstyle nametvNavigationBarStylesitem nameandroid:layout_widthwrap_content/itemitem nameandroid:layout_heightwrap_content/itemitem nameandroid:layout_marginLeft25dp/itemitem nameandroid:layout_marginTop4dp/itemitem nameandroid:textSize16sp/item/stylestyle nametvleftStylesitem nameandroid:layout_width100dp/itemitem nameandroid:layout_height40dp/itemitem nameandroid:gravitycenter/itemitem nameandroid:textColorcolor/dark_gray/itemitem nameandroid:textSize16sp/item/style/resources④在res→layout目录下在activity_main.xml中添加界面控件;创建left_layout.xml完成搭建左侧菜单栏布局;创建right_layout.xml文件搭建右侧菜单栏布局;创建list_item.xml完成创建listview的条目布局界面并修改默认标题栏。 activity_main.xml ?xml version1.0 encodingutf-8?
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:apphttp://schemas.android.com/apk/res-autoxmlns:toolshttp://schemas.android.com/toolsandroid:idid/mainandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:backgroundcolor/whiteandroid:orientationverticaltools:context.MainActivityRelativeLayoutandroid:layout_widthmatch_parentandroid:layout_height50dpandroid:layout_marginBottom4dpandroid:gravitycenter_verticalTextViewandroid:idid/tv_orderstylestyle/tvNavigationBarStylesandroid:textColorcolor/blackandroid:text点菜/TextViewandroid:idid/tv_discussandroid:layout_toRightOfid/tv_orderstylestyle/tvNavigationBarStylesandroid:textColorcolor/dark_grayandroid:text评价/TextViewandroid:idid/tv_businessstylestyle/tvNavigationBarStylesandroid:textColorcolor/blackandroid:layout_toRightOfid/tv_discussandroid:text商家/TextViewandroid:layout_width70dpandroid:layout_height30dpandroid:textSize12spandroid:layout_alignParentRighttrueandroid:layout_marginRight15dpandroid:backgrounddrawable/leftandroid:gravitycenterandroid:textColor#ef842candroid:text好友拼单//RelativeLayoutLinearLayoutandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationhorizontalfragmentandroid:idid/leftandroid:namecn.itcast.menu.LeftFragmentandroid:layout_width0dpandroid:layout_heightmatch_parentandroid:layout_weight1tools:layoutlayout/left_layout/fragmentandroid:idid/rightandroid:namecn.itcast.menu.RightFragmentandroid:layout_width0dpandroid:layout_heightmatch_parentandroid:layout_weight3tools:layoutlayout/right_layout//LinearLayout
/LinearLayout list_item.xml ?xml version1.0 encodingutf-8?
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationhorizontalandroid:padding5dpImageViewandroid:idid/iv_imgandroid:layout_width70dpandroid:layout_height70dp/LinearLayoutandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:layout_marginLeft8dpandroid:layout_marginRight8dpandroid:orientationverticalTextViewandroid:textSize14spandroid:padding2dpandroid:idid/tv_nameandroid:layout_widthwrap_contentandroid:layout_heightwrap_content/TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textColor#868788android:idid/tv_saleandroid:textSize12sp/TextViewandroid:idid/tv_priceandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_marginTop2dpandroid:textSize12sp//LinearLayout/LinearLayoutleft_layout.xml ?xml version1.0 encodingutf-8?
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalTextViewandroid:idid/tv_recommendstylestyle/tvleftStylesandroid:backgroundcolor/whiteandroid:text推荐 /TextViewandroid:idid/tv_must_buystylestyle/tvleftStylesandroid:text进店必买//LinearLayoutright_layout.xml ?xml version1.0 encodingutf-8?
LinearLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:orientationverticalListViewandroid:idid/lv_listandroid:layout_widthmatch_parentandroid:layout_heightwrap_contentandroid:dividernull//LinearLayout2.实现菜单界面功能 (1)封装菜品信息实体类FoodBean package cn.itcast.menu;public class FoodBean {private static final long serialVersionUID1L;private String name;private String sales;private String price;private int img;public String getName() {return name;}public void setName(String name) {this.name name;}public String getSales() {return sales;}public void setSales(String sales) {this.sales sales;}public String getPrice() {return price;}public void setPrice(String price) {this.price price;}public int getImg() {return img;}public void setImg(int img) {this.img img;}} (2)加载左侧菜单栏界面布局,在LeftFragment.java中代码实现如下: package cn.itcast.menu;import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.fragment.app.Fragment;
public class LeftFragment extends Fragment {Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) {View view inflater.inflate(R.layout.left_layout,container,false);return view;}Overridepublic void onPause() {super.onPause();}
} (3)通过ListView实现菜单列表编写其对应的适配器RightAdapter.java。 package cn.itcast.menu;import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.List;public class RightAdapter extends BaseAdapter {private Context mContext;private ListFoodBean list;public RightAdapter(Context context , ListFoodBeanlist){this.mContextcontext;this.listlist;}Overridepublic int getCount() {return list.size();}Overridepublic Object getItem(int position) {return list.get(position);}Overridepublic long getItemId(int position) {return position;}Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holdernull;if(convertViewnull){convertViewView.inflate(mContext,R.layout.list_item,null);holder new ViewHolder();holder.tv_nameconvertView.findViewById(R.id.tv_name);holder.tv_saleconvertView.findViewById(R.id.tv_sale);holder.tv_priceconvertView.findViewById(R.id.tv_price);holder.iv_imgconvertView.findViewById(R.id.iv_img);convertView.setTag(holder);}else {holder(ViewHolder) convertView.getTag();}FoodBean beanlist.get(position);holder.tv_name.setText(bean.getName());holder.tv_sale.setText(bean.getSales());holder.tv_price.setText(bean.getPrice());holder.iv_img.setBackgroundResource(bean.getImg());return convertView;}class ViewHolder{TextView tv_name,tv_sale,tv_price;ImageView iv_img;}
} (4)创建右侧Fragment来显示菜单栏列表信息具体实现代码如下 package cn.itcast.menu;import android.os.Bundle;
import androidx.fragment.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import java.io.Serializable;
import java.util.List;public class RightFragment extends Fragment {private ListView lv_list;public RightFragment() {}public RightFragment getInstance(ListFoodBean list) {RightFragment rightFragment new RightFragment();Bundle bundle new Bundle();bundle.putSerializable(list, (Serializable) list);rightFragment.setArguments(bundle);return rightFragment;}Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);}Overridepublic View onCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {View view inflater.inflate(R.layout.right_layout, container, false);lv_list view.findViewById(R.id.lv_list);if (getArguments() ! null) {ListFoodBean list (ListFoodBean) getArguments().getSerializable(list);RightAdapter adapter new RightAdapter(getActivity(), list);lv_list.setAdapter(adapter);}return view;}
} (5)实现显示菜单的效果在MainActivity.java中定义init()方法、setData()方法、clickEvent()方法和switchData()方法,分别实现初始化界面控件、实现界面控件点击事件和切换右侧菜单列表数据的功能代码如下 package cn.itcast.menu;import androidx.appcompat.app.AppCompatActivity;
import androidx.fragment.app.FragmentTransaction;
import android.app.Fragment;
import android.app.FragmentManager;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class MainActivity extends AppCompatActivity {private FragmentManager fragmentManager;private FragmentTransaction fragmentTransaction;private Fragment leftFragment;private RightFragment rightFragment;private TextView tv_recommed,tv_must_buy;private String[]names1{爆款*肥牛鱼豆腐骨肉相连三荤五素一份米饭,豪华双人套餐,【热销】双人套餐含两份米饭};private String[]sales1{月售520 好评度80%,月售520 好评度80%,月售520 好评度80%};private String[]prices1{$23,$41,$32};private int []imgs1{R.drawable.food1,R.drawable.food2,R.drawable.food3};private String[]names2{鸿运当头-油焖大虾,金肥牛跃龙门,香甜菠萝咕噜肉};private String[]sales2{月售1314 好评度90%,月售999 好评度85%,月售520 好评度80%};private String[]prices2{$36,$45,$29};private int []imgs2{R.drawable.foodd1,R.drawable.foodd2,R.drawable.foodd3};private MapString, ListFoodBean map;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setData();init();clickEvent();}private void init(){//给主页面左侧的fragment界面控件赋值fragmentManager getFragmentManager();leftFragmentfragmentManager.findFragmentById(R.id.left);tv_recommedfindViewById(R.id.tv_recommend);tv_must_buyfindViewById(R.id.tv_must_buy);}private void setData(){//给数据赋值将其全部放在对应的数据集里mapnew HashMap();ListFoodBeanlist1new ArrayList();ListFoodBeanlist2new ArrayList();for(int i0;inames1.length;i){FoodBean beannew FoodBean();bean.setName(names1[i]);bean.setPrice(prices1[i]);bean.setImg(imgs1[i]);bean.setSales(sales1[i]);list1.add(bean);}map.put(1,list1);for(int i0;inames2.length;i){FoodBean beannew FoodBean();bean.setName(names2[i]);bean.setPrice(prices2[i]);bean.setImg(imgs2[i]);bean.setSales(sales2[i]);list2.add(bean);}map.put(2,list2);}private void clickEvent(){//点击推荐还在必须控件变化颜色可以增加可适度tv_recommed.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {switchData (map.get(1));tv_recommed.setBackgroundColor(Color.WHITE);}});tv_must_buy.setOnClickListener(new View.OnClickListener() {Overridepublic void onClick(View view) {switchData (map.get(2));tv_must_buy.setBackgroundColor(Color.WHITE);}});switchData (map.get(1));}public void switchData(ListFoodBean list){rightFragmentnew RightFragment().getInstance(list);//实例fragmentfragmentManagergetFragmentManager();//获取FragmentManagerfragmentTransactiongetSupportFragmentManager().beginTransaction();//开启事务fragmentTransaction.replace(R.id.right,rightFragment);//添加一个FragmentfragmentTransaction.commit();//提交事务}}
五、代码下载地址
android: 实现注册界面、实现注册界面、饭堂小广播、音乐播放器、记事本、读取手机通讯录、学生管理系统 - Gitee.com