android 双层导航界面,Android中划屏效果设计三(设计局部导航界面)

package com.slide.menu;

import java.util.ArrayList;

import com.slide.util.SlideMenuUtil;

import android.app.Activity;

import android.graphics.Color;

import android.util.Log;

import android.view.Gravity;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.view.View.OnClickListener;

import android.view.ViewGroup.LayoutParams;

import android.view.animation.TranslateAnimation;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.TextView;

public class SlideMenuLayout {

// 包含菜单的ArrayList

private ArrayList menuList = null;

private Activity activity;

private TextView textView = null;

private SlideMenuUtil menuUtil = null;

public SlideMenuLayout(Activity activity){

this.activity = activity;

menuList = new ArrayList();

menuUtil = new SlideMenuUtil();

}

public View getSlideMenuLinerLayout(String[] menuTextViews,int

layoutWidth){

// 包含TextView的LinearLayout

LinearLayout menuLinerLayout = new

LinearLayout(activity);

menuLinerLayout.setOrientation(LinearLayout.HORIZONTAL);

// 参数设置

LinearLayout.LayoutParams menuLinerLayoutParames = new

LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,

LinearLayout.LayoutParams.WRAP_CONTENT,

1);

menuLinerLayoutParames.gravity =

Gravity.CENTER_HORIZONTAL;

// 在单页导航页面上添加TextView控件

for(int i = 0;i < menuTextViews.length;

i++){

TextView tvMenu = new TextView(activity);

// 设置标识值

tvMenu.setTag(menuTextViews[i]);

tvMenu.setLayoutParams(new LayoutParams(layoutWidth /

4,30));

tvMenu.setPadding(30, 14, 30, 10);

tvMenu.setText(menuTextViews[i]);

tvMenu.setTextColor(Color.WHITE);

tvMenu.setGravity(Gravity.CENTER_HORIZONTAL);

tvMenu.setOnClickListener(SlideMenuOnClickListener);

// 菜单项计数,该全局变量在另外一个专门设置导航菜单参数的类里

menuUtil.count ++;

// 设置第一个菜单项背景

if(menuUtil.count == 1){

tvMenu.setBackgroundResource(R.drawable.menu_bg);

}

menuLinerLayout.addView(tvMenu,menuLinerLayoutParames);

menuList.add(tvMenu);

}

return menuLinerLayout;

}

// 单个菜单事件

OnClickListener SlideMenuOnClickListener= new

OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

String menuTag = v.getTag().toString();

if(v.isClickable()){

textView = (TextView)v;

textView.setBackgroundResource(R.drawable.menu_bg);

for(int i = 0;i < menuList.size();i++){

if(!menuTag.equals(menuList.get(i).getText())){

menuList.get(i).setBackgroundDrawable(null);

}

}

// 点击菜单时改变内容

slideMenuOnChange(menuTag);

}

}

};

// 点击时改内容

private void slideMenuOnChange(String menuTag){

LayoutInflater inflater = activity.getLayoutInflater();

ViewGroup llc =

(ViewGroup)activity.findViewById(R.id.linearLayoutContent);

llc.removeAllViews();

if(menuTag.equals(SlideMenuUtil.ITEM_MOBILE)){

llc.addView(inflater.inflate(R.layout.item_mobile,

null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_WEB)){

llc.addView(inflater.inflate(R.layout.item_web, null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_CLOUD)){

llc.addView(inflater.inflate(R.layout.item_cloud,

null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_DATABASE)){

llc.addView(inflater.inflate(R.layout.item_database,

null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_EMBED)){

llc.addView(inflater.inflate(R.layout.item_embed,

null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_SERVER)){

llc.addView(inflater.inflate(R.layout.item_server,

null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_DOTNET)){

llc.addView(inflater.inflate(R.layout.item_dotnet,

null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_JAVA)){

llc.addView(inflater.inflate(R.layout.item_java, null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_SAFE)){

llc.addView(inflater.inflate(R.layout.item_safe, null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_DOMAIN)){

llc.addView(inflater.inflate(R.layout.item_domain,

null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_RESEASRCH)){

llc.addView(inflater.inflate(R.layout.item_research,

null));

}else if(menuTag.equals(SlideMenuUtil.ITEM_MANAGE)){

llc.addView(inflater.inflate(R.layout.item_manage,

null));

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值