购物APP项目开发(1)——菜单开发

1.导入资源文件 图片文件一般都是放在Drawable下面。

不过这里要创建一个Drawable-xhdpi。

2.项目分层 提高扩展性和维护性 以及提高代码的复用。

包名 com.lqc.项目名称 http://www.lqc.com

activity 窗口

service 业务层 处理系统业务的代码

util 工具包

dto 数据传输对象

adapter 适配器

3.欢迎界面开发

在activity中新建一个WelcomeActivity.java

public class WelcomeActivity extends Activity { private Handler handler=new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { Intent intent=new Intent(WelcomeActivity.this,MainActivity.class); startActivity(intent); return false; } }); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_welcome); // 停留3s自动调整到主界面 // 停留3s发送一个0x111消息 handler.sendEmptyMessageDelayed(0x111,3000); } @Override protected void onStop() { super.onStop(); WelcomeActivity.this.finish(); } }

4.开发界面菜单栏

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.lqc.shopping.activity.MainActivity"> <!-- layout_weight : 权重 --> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_weight="1"> </android.support.v4.view.ViewPager> <View android:layout_width="match_parent" android:layout_height="1dp" android:background="@color/dark_black"> </View> <!-- 菜单栏 --> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- 主页--> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="vertical" android:id="@+id/ll1" android:gravity="center" android:layout_weight="1"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/guide_home_on" android:id="@+id/img1" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/orange" android:text="@string/home_text" android:id="@+id/text1" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center" android:id="@+id/ll2" android:layout_weight="1"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/guide_tfaccount_nm" android:id="@+id/img2" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/black" android:text="@string/type_text" android:id="@+id/text2" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center" android:id="@+id/ll3" android:layout_weight="1"> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/guide_cart_nm" android:id="@+id/img3" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/black" android:text="@string/car_text" android:id="@+id/text3" /> </LinearLayout> <LinearLayout android:layout_width="0dp" android:layout_height="wrap_content" android:orientation="vertical" android:gravity="center" android:id="@+id/ll4" android:layout_weight="1" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/guide_account_nm" android:id="@+id/img4" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="@color/black" android:text="@string/user_text" android:id="@+id/text4" /> </LinearLayout> </LinearLayout> </LinearLayout

在MainActivity.java中:

public class MainActivity extends Activity implements View.OnClickListener{ private int[] menusIds=new int[]{ R.id.ll1, R.id.ll2, R.id.ll3, R.id.ll4 }; private LinearLayout[] menus=new LinearLayout[menusIds.length]; private ImageView[] menuImages=new ImageView[menusIds.length]; private int[] menuImageids=new int[]{ R.id.img1, R.id.img2, R.id.img3, R.id.img4, }; private TextView[] menuTexts=new TextView[menusIds.length]; private int[] menuTextids=new int[]{ R.id.text1, R.id.text2, R.id.text3, R.id.text4 }; private int[] menuOpenImages=new int[]{ R.drawable.guide_home_on, R.drawable.guide_discover_on, R.drawable.guide_cart_on, R.drawable.guide_account_on }; private int[] menuCloseImages=new int[]{ R.drawable.guide_home_nm, R.drawable.guide_discover_nm, R.drawable.guide_cart_nm, R.drawable.guide_account_nm }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); for (int i=0;i<menusIds.length;i++){ menus[i]= (LinearLayout) findViewById(menusIds[i]); menuImages[i]= (ImageView) findViewById(menuImageids[i]); menuTexts[i]= (TextView) findViewById(menuTextids[i]); /** 给四个线性按钮绑定点击事件监听器 */ menus[i].setOnClickListener(this); } } @Override public void onClick(View v) { /** 每次点击的时候将所有的图片按钮和问文本都恢复成灰黑色 */ for (int i=0;i<menusIds.length;i++){ menuImages[i].setImageResource(menuCloseImages[i]); menuTexts[i].setTextColor(0xff000000 ); } switch (v.getId()){ case R.id.ll1: menuImages[0].setImageResource(menuOpenImages[0]); menuTexts[0].setTextColor(0xffff5000); break; case R.id.ll2: menuImages[1].setImageResource(menuOpenImages[1]); menuTexts[1].setTextColor(0xffff5000); break; case R.id.ll3: menuImages[2].setImageResource(menuOpenImages[2]); menuTexts[2].setTextColor(0xffff5000); break; case R.id.ll4: menuImages[3].setImageResource(menuOpenImages[3]); menuTexts[3].setTextColor(0xffff5000); break; } } }

这样就可以完成菜单开发了。

原文发布于微信公众号 - Java后端生活(javaNotebook)

原文发表时间:2016-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区

领取腾讯云代金券