package com.saranth.navigationdemo;
import java.util.ArrayList;
import java.util.List;
import android.app.ActivityGroup;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.TextView;
import com.saranth.navigationdemo.MyView.OnScrollListener1;
public class MainActivity extends ActivityGroup {
// 自定义的滑动view
private MyView myView;
// 滑动条
private LinearLayout sortliner,linearId,linearLayout;
// 显示二级种类的TextView
private List<TextView> sortTextViews = new ArrayList<TextView>();
private Intent intent ;
private LayoutParams params;
@Override
protected void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.getVidget();
this.addNavigationMenu();
intent = new Intent(this, Activity0.class);
startActivity("Activity0");
sortTextViews.get(0).setBackgroundResource(R.drawable.opposition_bar);
}
/**
* 获取控件
*/
private void getVidget(){
myView = (MyView) findViewById(R.id.myView);
sortliner = (LinearLayout) findViewById(R.id.sortliner);
linearId = (LinearLayout) findViewById(R.id.linearId);
linearLayout = (LinearLayout) findViewById(R.id.linearLayout);
params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
myView.setOnScrollListener(new OnScrollListener1(){
@Override
public void onScroll() {}
@Override
public void onRight() {}
@Override
public void onLeft() {}
});
}
/**
* 添加 导航的选项
*/
private void addNavigationMenu(){
sortliner.removeAllViews();
for (int i = 0; i < 10 ; i++) {// 往二级分类中加载数据
TextView sort = new TextView(MainActivity.this);
// 给二级分类赋值
sort.setText("按钮"+i);
// 设置字体大小
sort.setTextSize(18);
sort.setTextColor(Color.BLACK);
// 设置二级分类的周边
sort.setPadding(12, 2, 12, 2);
// 把TextView添加到滑动条内
sortliner.addView(sort, i, params);
sortTextViews.add(sort);
}
//设置监听
optionListener(sortTextViews);
}
/***
* 设置二级分类的列表点击事件
*/
public void optionListener(List<TextView> textList){
for(int i =0; i<textList.size() ; i++){
setsortlistener(i);
}
}
/**
* 根据ID执行相应事件
* @param i
*/
private void setsortlistener(final int i) {
//根据ID设置对应的监听事件
sortTextViews.get(i).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setback(i+1);
}
});
}
/**
* 执行相应操作的方法
* @param id
*/
private void setback(int id) {
for (int i = 0; i < sortTextViews.size(); i++) {
if (id == i + 1) {
Log.d("tao","我是按钮"+i);
sortTextViews.get(i).setBackgroundResource(R.drawable.opposition_bar);
switchActivity(i);
} else {
//没选中的执行相应操作
sortTextViews.get(i).setBackgroundResource(0);
}
}
}
/**
* 根据Id进行跳转
* @param id
*/
private void switchActivity(int id) {
linearLayout.removeAllViews();
switch (id) {
case 0:
intent = new Intent(this, Activity0.class);
startActivity("Activity0");
break;
case 1:
intent = new Intent(this, Activity1.class);
startActivity("Activity1");
break;
case 2:
intent = new Intent(this, Activity2.class);
startActivity("Activity2");
break;
}
}
/***
* 执行跳转的方法
* @param name
*/
private void startActivity(String name) {
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
Window window = getLocalActivityManager().startActivity(name, intent);
linearLayout.addView(window.getDecorView(), LayoutParams.MATCH_PARENT,LayoutParams.MATCH_PARENT);
}
}
菜单导航code
最新推荐文章于 2021-06-03 05:36:05 发布