Android底部菜单的实现
前言:以前制作菜单使用TabHost,但是android 3.0以上就被废弃了,google已经不建议使这个类了。ActionBar也是菜单,不过在头部,算是导航了
===本文就介绍怎么制作底部菜单===
1、底部菜单就是一张图片加一个文本,点击的时候改变颜色,先自定义个类MenuButton
public class MenuButton extends RelativeLayout{ private ImageView ivMenu;//菜单图片
private TextView tvMenu;//菜单文本
private int norColor;//文本未选中颜色
private int fosColor;//文本选中颜色
private int norImage;//未选中图片
private int fosImage;//选中图片 @SuppressLint("InflateParams")
public MenuButton(Context context, AttributeSet attrs) {
super(context, attrs);
addView(LayoutInflater.from(context).inflate(R.layout.layout_menu_button, null));
ivMenu = (ImageView) findViewById(R.id.iv_menu_button);
tvMenu = (TextView) findViewById(R.id.tv_menu_button);
} public void setValues(String text, int norColor, int fosColor, int norImage, int fosImage){
this.norColor = norColor;
this.fosColor = fosColor;
this.norImage = norImage;
this.fosImage = fosImage;
tvMenu.setText(text);
setChecked(false);
} public void setChecked(boolean isChecked){
if(isChecked){
ivMenu.setImageResource(fosImage);
tvMenu.setTextColor(getResources().getColor(fosColor));
}else{
ivMenu.setImageResource(norImage);
tvMenu.setTextColor(getResources().getColor(norColor));
}
} }
布局文件如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" > <ImageView
android:id="@+id/iv_menu_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:contentDescription="@null"
android:layout_centerHorizontal="true" /> <TextView
android:id="@+id/tv_menu_button"
android:layout_below="@id/iv_menu_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" /> </RelativeLayout>
2、定义好的MenuButton放在首页底部,同时加一个ViewPager
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" > <LinearLayout
android:id="@+id/lay_menu"
android:layout_width="match_parent"
android:layout_height="48dp"
android:background="@color/menu_bg"
android:layout_alignParentBottom="true"
android:orientation="horizontal" > <com.lining.menutest.view.MenuButton
android:id="@+id/mb_phone"
style="@style/MenuButton" /> <com.lining.menutest.view.MenuButton
android:id="@+id/mb_msg"
style="@style/MenuButton" /> <com.lining.menutest.view.MenuButton
android:id="@+id/mb_user"
style="@style/MenuButton" />
</LinearLayout> <android.support.v4.view.ViewPager
android:id="@+id/vp_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@id/lay_menu" /> </RelativeLayout>
3、主要的初始化方法如下
private void initViews() {
mbPhone = (MenuButton) findViewById(R.id.mb_phone);
mbMsg = (MenuButton) findViewById(R.id.mb_msg);
mbUser = (MenuButton) findViewById(R.id.mb_user); mbPhone.setValues("联系人", R.color.gray_text, R.color.blue_text,
R.drawable.menu_phone_normal, R.drawable.menu_phone_selected);
mbMsg.setValues("短信", R.color.gray_text, R.color.blue_text,
R.drawable.menu_msg_normal, R.drawable.menu_msg_selected);
mbUser.setValues("用户", R.color.gray_text, R.color.blue_text,
R.drawable.menu_user_normal, R.drawable.menu_user_selected);
mbPhone.setOnClickListener(this);
mbMsg.setOnClickListener(this);
mbUser.setOnClickListener(this); vpMain = (ViewPager) findViewById(R.id.vp_main);//ViewPager
List<Fragment> fragmentList = new ArrayList<Fragment>();
fragmentList.add(new PhoneFragment());
fragmentList.add(new MsgFragment());
fragmentList.add(new UserFragment());
//Activity需要继承自FragmentActivity
vpMain.setAdapter(new MyPagerAdapter(getSupportFragmentManager(), fragmentList));
vpMain.addOnPageChangeListener(new OnPageChangeListener() { @Override
public void onPageScrollStateChanged(int arg0) { } @Override
public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override
public void onPageSelected(int arg0) {
switch (arg0) {
case 0:
setPhoneChecked();
break;
case 1:
setMsgChecked();
break;
case 2:
setUserChecked();
break;
}
}
});
mbPhone.setChecked(true);//设置显示第一个
}
public class MyPagerAdapter extends FragmentPagerAdapter{ List<Fragment> fragmentList; public MyPagerAdapter(FragmentManager fragmentManager, List<Fragment> fragmentList){
super(fragmentManager);
this.fragmentList = fragmentList;
} @Override
public int getCount() {
return fragmentList.size();
} @Override
public Fragment getItem(int position) {
return fragmentList.get(position);
} }
4、写好了,看一看效果
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAICCAYAAAB1M/CuAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAADnxSURBVHhe7Z3Zm6T3Xd35F3KRu1yQi3AB4SGQQJ4QEsDYmO0JhLA5Zg0kNoR9DXEewhpwYsAYWZaQxtqs1dp3abTv+y6NZno2jTTaZuueGe3Yv7zft/VpnSm91XNka0T94Fycec+n6lM9UnfXqbeql/mKF154oe3du7fVMUmSZBFTG/Xiiy+2DFaSJAufDFaSJN0kg5UkSTfJYCVJ0k0yWEmSdJMMVpIk3WRtsOqPDFaSJIucDFaSJN0kg5UkSTc5YrD27ds3AlfS6zh1+SzPc9brsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh12/jhks09cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+nXMYJm+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdevYwbL9LXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67fh0zWKavHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PXrmMEyfe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOuX8fJwUqSJFnEsFEZrCRJFj61UXWWlcFKkmThk8FKkqSbZLCSJOkmGawkSbpJBitJkm6SwUqSpJtksJIk6SYZrCRJukkGK0mSbpLBSpKkm2SwkiTpJhmsJEm6SQYrSZJusjZY9UcGK0mSRU4GK0mSbpLBSpKkmxwxWPv372979uxZu5Jex6nLZ3mes16HXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877Pp1zGCZvnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHXr2MGy/S1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu34dM1imrx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj165jBMn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrl/HycFKkiRZxNRGZbCSJOkiGawkSbpJBitJkm6SwUqSpJtksJIk6SYZrCRJukkGK0mSbpLBSpKkm2SwkiTpJhmsJEm6SQYrSZJuksFKkqSbZLCSJOkmGawkSbpJBitJkm6SwUqSpJtksJIk6SZHDNaBAwdG4Ep6Hacun+V5znoddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOvXMYNl+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddv44ZLNPXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877Pp1zGCZvnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHXr2MGy/S1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu34dM1imrx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj161iDVf824RGDlSRJsoipjcpgJUnSRTJYSZJ0kwxWkiTdJIOVJEk3yWAlSdJNMlhJknSTDFaSJN0kg5UkSTfJYCVJ0k3WBqv+yGAlSbLIyWAlSdJNMlhJknSTDFaSJN0kg5UkSTfJYCVJ0k2OGKzl5eURuJJex6nLZ3mes16HXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877Pp1zGCZvnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHXr2MGy/S1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu34dM1imrx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj165jBMn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrl/HDJbpa4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXb9Ok4OVpIkySKGjcpgJUmy8MlgJUnSTTJYSZJ0k9qo+tefM1hJkix8MlhJknSTDFaSJN0kg5UkSTfJYCVJ0k0yWEmSdJMMVpIk3SSDlSRJN1kbrPojg5UkySIng5UkSTfJYCVJ0k0yWEmSdJMMVpIk3SSDlSRJNzlisFZWVkbgSnodpy6f5XnOeh12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w69cxg2X62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh12/jhks09cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+nXMYJm+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdevYwbL9LXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67fh0zWKavHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PXrODlYSZIkixg2KoOVJMnCJ4OVJEk3yWAlSdJNMlhJknSTDFaSJN0kg5UkSTfJYCVJ0k0yWEmSdJMMVpIk3SSDlSRJN1kbrAMHDmSwkiRZ6NRG1VZlsJIkWfhksJIk6SYZrCRJukkGK0mSbpLBSpKkmxwxWAcPHhyBK+l1nLp8luc563XY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrl/HDJbpa4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXb9OmawTF877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w69cxg2X62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh12/jhks09cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+nWcHKwkSZJFDBuVwUqSZOGTwUqSpJtksJIk6SYZrCRJukkGK0mSbpLBSpKkm2SwkiTpJhmsJEm6SQYrSZJuMjlYy8vLa8LRul42y07XzDpwbnvk7WYvz23f7mj+odxWnXfSYdfXDru+dtj163jo0KGx5wwrSZKFz9oZVq1XBitJkkVObVRtVQYrSZKFTwYrSZJuksFKkqSbZLCSJOkmGawkSbrJEYNV3+NQR66k13Hq8lme56zXYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDrt+HTNYpq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9euYwTJ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w65fxwyW6WuHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12/TpmsExfO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOvXcXKwkiRJFjFsVAYrSZKFTwYrSZJuksFKkqSbZLCSJOkmGawkSbpJBitJkm6SwUqSpJtksJIk6SYZrCRJukkGK0mSbpLBSpKkm6wN1srKSgYrSZKFTm1UbVUGK0mShU8GK0mSbpLBSpKkm9RG1e/EymAlSbLwyWAlSdJNjhisw4cPj88PuZJex6nLZ3mes16HXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877Pp1zGCZvnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHXr2MGy/S1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu34dM1imrx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj165jBMn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrl/HDJbpa4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXb9Ok4OVpIkySKmNiqDlSRJF8lgJUnSTTJYSZJ0kwxWkiTdJIOVJEk3yWAlSdJNMlhJknSTDFaSJN0kg5UkSTfJYCVJ0k3WBqv+yGAlSbLIyWAlSdJNMlhJknSTDFaSJN2kNqp+xUwGK0mShU8GK0mSbnLEYL300kvj80OupNdx6vJZnues12HX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67fh0zWKavHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PXrmMEyfe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOuX8cMlulrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddv06ZrBMXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDr1zGDZfraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXb+Ok4OVJEmyiKmNymAlSdJFMlhJknSTDFaSJN0kg5UkSTfJYCVJ0k0yWEmSdJMMVpIk3SSDlSRJN8lgJUnSTTJYSZJ0kwxWkiTdZG2w6o8MVpIki5wMVpIk3SSDlSRJN6mNql8xk8FKkmThk8FKkqSbHDFYL7/88vj8kCvpdZy6fJbnOet12PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w65fxwyW6WuHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12/TpmsExfO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOvXMYNl+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddv44ZLNPXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877Pp1nBysJEmSRUxtVAYrSZIuksFKkqSbZLCSJOkmGawkSbpJBitJkm6SwUresxw2L0uSeclgJe8oyyuH2oEhhw6v8uHh+NKczI7R/uF2B4Wr19vKaCVuMliJnddfOdQ23LvcPnXHcjv80jA2w2U3Lq20Cx9Zbhc9+lYuHHL54ytt977V29V41TD9zEX72x3bV9qrLx9qrw6337h5pf2X4bLlg6v88ptDN/v3JgnJYCV23nj1cPuxz+9rP3vx/nbxEytt4zBWv3/9gfGyD5//Vj408H+9ZH97fPfB8QysBuqGLSvtX/3N3vbXdy63P7v5QPv4kI9etr/940/sab91zf72f2850P7oxgPtgmH8Dg4DVreb+m9I/mEng5VYeWU4A9ry/KH2Ncfvaf/ihL3tG07c2/7ituW2+8Ch9uSLB9sTkk17Dran9h1sK8PtanjqDOqnLtzXfnfj/nbOw8vtN67aP47Ub1+9v/3OcKz+W0P/tSv3t1PvOzA+VcxgJVPJYCVW6una799woP3CcFb0e9cdaH88nA194fXD7dLhqd8HTt/XfvCcfe0/nrN3PBbXWVSdKb08DN2lw9nYP/mLve2UB5bb8vB2zhvOok66Z7mdPDy9PPmeA+Pxb+4+0M4crn/lpcN5TSuZm7XBqj8yWMm81GtLGzcvt0efOdj+YBiuv7z9QPviG4fbafevtPeduq/dtvNgu3XbSrt9OP7KFfvbLw2pM6Vdew4NTxn3t3/08T1tw33L7cWVQ+34u5bbH990oP2JpJ4O1tscz67k700STQYrOWpqQOopWp0J/fgF+9u/OXlv+/ZhpGq4jrtzuf3A2fvagZcPtQMHD47Hen3qV4and4eGs6szH1y9/jvP2NdOGM6i9g5nXWc8sNI+PdxOc9wdy+2zw9vn75v9b0iSSgYrsVIjcvPWlfbJYVxqrH732gPjU73T719u37xhb/vpC/eNr1P99IX72/tP29s+tnE4wxpGbun5g+2hpw+2nxwu/8wwWM8PZ1j1Avv/uGbI8DbIb1+9epaVF9yT9ZLBSuzU60vbh6d49RpVnRF9YXhK+PizB4ezrNWv7n1+yIWPrgxnXvvbZY+vtEP1OTWMTz2drDOzGqzl4e2cNZx1/dkty+1PhzOxSr3eVTl1GL+XhtvkDCuZl9qo+p1YGazkqKnBun5ppX39iXvaPz9+b7tsOMN6cPfB9sHh6V69tlXf9vDS4Lzv1L3j00cdn3Gw7jnQnjlwqL3/9L3tI5ftb3900/72h8NZVeXHhzOwbxtuV39HvhcrmZcMVmKlhuf1YZB+4fL97ZeGnDacDX3H8NRv656D4wvon7l7uX3x9cPt6idX2r8dniJuHp4KvvLy9GDVU8qbtx5sh1853A6+PFw/HM8dzsy+84y97eUMVrJOjhisV155ZXx+yJX0Ok5dPsvznPU67PraYdfXDru+dtj1tcOurx12fe2w62uv1JnPjUsH29cdv6ddNYxSPd27aBiZ0x5YaZ+4bbn9+ZCT71sez7a+a0idYT34dH0H++rb+vAwWMcPg7V7uc6w9rUfOnffOH4fvXR/+/nhbOt7z9zX/v0pDNbq38l/x+x/j9Nh19cOu7522PW1w66vHXZ97bDra4ddXzvs+nXMYJm+dtj1tcOurx12fe2w62uv1GCd8cDy+IL5oUP12tTh9vS+Q+ML5vVCe333+89ULhr6JavHqzattDeGs6f6ucOPDMO0YTgre3b58DBW+9snbj3Qzn9kpZ378Eo7b0g9LfzQ+fvffEq4+nfy3zH73+N02PW1w66vHXZ97bDra4ddXzvs+tph19cOu34dM1imrx12fe2w62uHXV877PraVzN8soxjUpdxef184eFxlKZS4zN6w9vZ9uKh9uybP1u4c89wHG47esPTzDrW23pheLq4+rbf+nun/nucDru+dtj1tcOurx12fe2w62uHXV877PraYdevYwbL9LXDrq8ddn3tsOtrh11fO7zav7Tb1utZvDY1vrY183aKaxCrc/lb1x15udNh19cOu7522PW1w66vHXZ97bDra4ddXzvs+nXMYJm+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdevYwbL9LXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67fh0nBytJkmQRUxuVwUqSpItksJIk6SYZrCRJukkGK0mSbpLBSpKkm2SwkiTpJhmsJEm6SQYrSZJuksFKkqSbZLCSJOkmGawkSbrJ2mDVHxmsJEkWORmsJEm6SQYrSZJuksFKkqSbZLCSJOkmRwzWq6++OgJX0us4dfksz3PW67Dra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddv441WPVbRzNY76DDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67fh0zWKavHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PXrmMEyfe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOuX8cMlulrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddv06ZrBMXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDr1zGDZfraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXb+Ok4OVJEmyiKmNymAlSdJF1gar/shgJUmyyMlgJUnSTTJYSZJ0kwxWkiTdJIOVJEk3yWAlSdJNMlhJknSTDFaSJN0kg5UkSTfJYCVJ0k0yWEmSdJMMVpIk3SSDlSRJN8lgJUnSTY4YrNdee20ErqTXceryWZ7nrNdh19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu34da7Dql/hlsN5Bh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddv06ZrBMXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDr1zGDZfraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXb+OGSzT1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z6dcxgmb522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph16/j5GAlSZIsYmqjMlhJknSRDFaSJN1kbbDqjwxWkiSLnAxWkiTdJIOVJEk3yWAlSdJNMlhJknSTDFaSJN0kg5UkSTfJYCVJ0k0yWEmSdJMMVpIk3SSDlSRJN8lgJUnSTTJYSZJ0kwxWkiTd5IjBev3110fgSnodpy6f5XnOeh12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w69cxg2X62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh12/jjVY9WuSM1jvoMOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDrt+HXOGZfraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXb+OGSzT1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z6dcxgmb522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph16/j5GAlSZIsYmqj3vaie5IkySImg5UkSTdZG6z6I4OVJMkiJ4OVJEk3yWAlSdJNMlhJknSTDFaSJN0kg5UkSTfJYCVJ0k0yWEmSdJMMVpIk3SSDlSRJN8lgJUnSTTJYSZJ0kwxWkiTdJIOVJEk3yWAlSdJNjhisN954YwSupNdx6vJZnues12HX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67fh0zWKavHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PXrmMEyfe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOuX8cMlulrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddv06ZrBMXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDr13FysJIkSRYxbFQGK0mShU8GK0mSbpLBSpKkm2SwkiTpJhmsJEm6SQYrSZJuksFKkqSbZLCSJOkmGawkSbpJBitJkm6SwUqSpJtksJIk6SYZrCRJukkGK0mSbpLBSpKkm2SwkiTpJhmsJEm6yRGD9bd/+7fttddeW7uSXsepy2d5nrNeh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z6dcxgmb522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph169jBsv0tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDrt+HTNYpq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9euYwTJ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w65fxwyW6WuHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12/TrWYFU/YrCSJEkWMWxUBitJkoXP2mApJEmSLGIyWEmSdJMMVpIk3SSDlSRJN8lgJUnSTTJYSZJ0kwxWkiTdZHKwXn/99TXhaF0vm2Wna2YdOLc98nazl+e2b3c0ue1bt53qsOtrh11fO+z6dcwZVpIk3SSDlSRJN8lgJUnSTTJYSZJ0k7cNFi9wVaZe+NLLZ3mes16HXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877Pp1zBlWkiTdJGdYpq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9euYwTJ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w65fxwyW6WuHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12/TpmsExfO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOvXMYNl+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddv44ZLNPXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877Pp1nBysJEmSRUwGK0mSbsJGZbCSJFn4ZLCSJOkmGawkSbpJBitJkm6SwUqSpJtksJIk6SYZrCRJukkGK0mSbpLBSpKkm2SwkiTpJhmsJEm6SQYrSZJuksFKkqSbZLCSJOkmGawkSbpJBitJkm5yxGB94QtfaG+88cbalfQ6Tl0+y/Oc9Trs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph169jBsv0tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDrt+HTNYpq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9euYwTJ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w65fxwyW6WuHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12/TpmsExfO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOvXcXKwkiRJFjG1URmsJEm6SAYrSZJusjZY9UcGK0mSRU4GK0mSbpLBSpKkm2SwkiTpJhmsJEm6SQYrSZJuksFKkqSbZLCSJOkmGawkSbpJBitJkm6SwUqSpJtksJIk6SYZrCRJukkGK0mSbvK2warf6MeV9DpOXT7L85z1Ouz62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHXr2MGy/S1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu34dM1imrx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj165jBMn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrl/HDJbpa4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXb9Ok4OVpIkySImg5UkSTfJYCVJ0k3WBovnh1NSkiTJIqQ2qrYqg5UkycIng5UkSTfJYCVJ0k0yWEmSdJMMVpIk3SSDlSRJN8lgJUnSTTJYSZJ0kwxWkiTdJIOVJEk3yWAlSdJNMlhJknSTDFaSJN0kg5UkSTc5YrC++MUvHjFa9DpOXT7L85z1Ouz62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX55jBmuPM67Dra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w67PMYM1x5nXYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXZ9jBmuOM6/Drq8ddn3tsOtrh11fO+z62mHX1w67vnbY9bXDrq8ddn3tsOtrh11fO+z62mHX1w67PscM1hxnXoddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ9jm8brCRJkkVMbVQGK0mSLpLBSpKkm2SwkiTpJhmsJEm6SQYrSZJuksFKkqSbZLCSJOkmGawkSbpJBitJkm6SwUqSpJtksJIk6SZrg1U/WJjBSpJkkVMbVVuVwUqSZOGTwUqSpJtksJIk6SYZrCRJukkGK0mSbvK2wdLRos+7fJbnOet12PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w66vHXZ97bDra4ddXzvs+tph19cOu7522PW1w67PMYM1x5nXYdfXDru+dtj1tcOurx12fe2w62uHXV877PraYdfXDru+dtj1tcOurx12fe2w62uHXZ/jOFivvPJKe+2118a8+uqrY2DN7OXr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" alt="" />
就是这么简单:http://files.cnblogs.com/files/pear-lemon/MenuTest.zip
Android底部菜单的实现的更多相关文章
- BottomBar之Android底部菜单
BottomBar之Android底部菜单 前言:开源项目BottomBar,实现Android底部菜单(常用菜单,BottomBar实现动画(上下式)+消息菜单,BottomBar+ViewPage ...
- Android 底部菜单会被顶起来的情况
描述:主界面有一排底部菜单,当从主界面跳转到另一个界面,假如说这个界面有软键盘弹出,主界面的顶部菜单会被顶起来. 原因:系统软键盘造成的 解决办法:在返回主界面时将系统软键盘关掉即可
- Android 底部菜单固定到底部
今天搞了很久的一个问题,导航菜单没有固定到底部,因为上面是ListView,可是没内容,于是就浮动上去了. 效果如下: 这里采用的是一个碎片,代码是: <LinearLayout xmlns:a ...
- Android应用主界面底部菜单实现
介绍 现在绝大多数主流的应用主界面,都会包含一个底部菜单,就拿腾讯的QQ与微信来说,看起来是这样的 <---我是底部菜单 原理 在很久以前,可以通过TabActivity实现相关功能,自从Fr ...
- Android自定义控件系列(四)—底部菜单(下)
转载请注明出处:http://www.cnblogs.com/landptf/p/6290862.html 在app中经常会用到底部菜单的控件,每次都需要写好多代码,今天我们用到了前几篇博客里的控件来 ...
- Android中软键盘弹出时底部菜单上移问题
当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 解决办法: 方法一:在你的activity中的oncrea ...
- [Android] Android 使用 FragmentTabHost + Fragment 实现 微信 底部菜单
Android 使用 FragmentTabHost + Fragment 实现 微信 底部菜单 利用FragmentTabHost实现底部菜单,在该底部菜单中,包括了4个TabSpec,每个TabS ...
- Xamarin.Android 利用Fragment实现底部菜单
效果图: 第一步:添加引用 引用 Crosslight.Xamarin.Android.Support.v7.AppCompat 这个包. 第二步:绘制Main和Fragment界面 fg_home. ...
- Android自己定义TabActivity(实现仿新浪微博底部菜单更新UI)
现在Android上非常多应用都採用底部菜单控制更新的UI这样的框架,比如新浪微博 点击底部菜单的选项能够更新界面.底部菜单能够使用TabHost来实现,只是用过TabHost的人都知道自己定义Tab ...
随机推荐
- Ajax 应用六个需要注意的事项
接触Ajax,那时候的Ajax支持还不是很好,都要涉及底层,没有现成的框架给你调用.现在把常见的问题列举如下.1.编码问题注意AJAX要取的文件是UTF-8编码的.GB2312编码传回BROWSE后中 ...
- C#深入浅出 继承(六)
这个标题写出来好长时间了,都没写内容,今天无论如何都得写完它,昨天写了一段,尼玛,电脑突然死机,重启之后啥都没了. 继承嘛,有人觉得很简单,但是里面还是有内容可以讲的,因为面向对象也就这么点内容,封装 ...
- 【html】学习记录-拖放(drag and drop)
目的:实现拖动目标并放置到指定区域. 使元素可拖动,涉及到元素的全局属性draggable <img draggable="true" /> 即img元素设置为可拖 ...
- 前端开发者进阶之函数柯里化Currying
穆乙:http://www.cnblogs.com/pigtail/p/3447660.html 在计算机科学中,柯里化(英语:Currying),又译为卡瑞化或加里化,是把接受多个参数的函数变换成接 ...
- UI第八节——UISegmentedControl
- (void)viewDidLoad { [super viewDidLoad]; NSArray *items = @[@"消息", @"电话" ...
- 公众平台关注用户达到5万即可开通流量主功能 可以推广APP应用
今天微信公众平台发布发布了一些更新,公众帐号的关注用户达到5万,即可开通流量主功能,之前的是要求10万粉丝,这是一个微信开放的信号.广告主可推广苹果商店应用或腾讯开放平台应用.新增卡片和图文广告规格. ...
- C和指针 第三章 四种作用域
代码块作用域: 任何位于一对花括号之间是一个代码块,代码块内声明的标识符具有代码块作用域,嵌套代码块内,内部变量会屏蔽外部相同标示的标示符,非嵌套代码块,不会同时处于活动状态所以不会屏蔽. int m ...
- resize
resize 属性规定是否可由用户调整元素尺寸. resize: none|both|horizontal|vertical; none:用户无法调整元素的尺寸. 比较常用 both:用户可 ...
- javascript基础06
javascript基础06 splice var del_arr = del.splice(0,2); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返 ...
- Oracle生成指定表的列名,并前后添加select from
表的列名比较多的时候,手工一个个的写列名比较麻烦,这个函数可以让人偷偷懒 create or replace function f_GetCols(p_TableName in varchar2/*获 ...