日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android左侧固定导航栏,Android使用fragment实现左侧导航

發布時間:2024/10/6 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android左侧固定导航栏,Android使用fragment实现左侧导航 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用簡單的fragment實現左側導航,供大家參考,具體內容如下

先上效果圖:

MainActivity.java

public class MainActivity extends FragmentActivity {

// private Handler handler;

private ViewPager fragmentViewPager;

private ListView leftListView;

private List fragmentlist;

private Fragment1 fragment1;

private Fragment2 fragment2;

private ArrayList leftlist = new ArrayList();// left list

private ListAdapter listAdapter = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

fragmentViewPager = (ViewPager) findViewById(R.id.fragmentViewPager);

leftListView = (ListView) findViewById(R.id.leftListView);

initDatas();// left初始化。

initDatasViewPager();

// aTextViewCallBack back = (aTextViewCallBack)

// findViewById(R.id.aTextViewCallBack);

// back.setCalBack(new calBack() {

// @Override

// public void onclick() {

// // TODO Auto-generated method stub

// Toast.makeText(MainActivity.this, "這是回調的點擊事件哦~",

// Toast.LENGTH_LONG).show();

// }

// });

//

// new Thread(new Runnable() {

//

// @Override

// public void run() {

// // TODO Auto-generated method stub

// String str = "http://www.easyicon.net/";

// String st = getHtmlByURL.getHtmlByURL(str);

// Message msg = handler.obtainMessage(0,st);

// handler.sendMessage(msg);

// }

// }).start();

// handler = new Handler() {

// public void handleMessage(Message msg) {

// super.handleMessage(msg);

// String x = msg.obj.toString();

// Log.i("GEtHtml", x);

// };

// };

}

public void initDatas() {

for (int i = 0; i < 5; i++) {

leftlist.add("第" + i + "個");

Log.i("65", leftlist.get(i).toString());

}

ArrayList buttonListView = new ArrayList();

ButtonView a = new ButtonView(R.string.pay_name_weixin);

buttonListView.add(a);

ButtonView b = new ButtonView(R.string.pay_name_alipay);

buttonListView.add(b);

listAdapter = new ListAdapter(buttonListView);

leftListView.setAdapter(listAdapter);

leftListView.setDividerHeight(0);

// listview點擊事件

leftListView.setOnItemClickListener(new OnItemClickListener() {

@Override

public void onItemClick(AdapterView> parent, View view,

int position, long id) {

Log.e("tag", Integer.toString(position));

// TODO Auto-generated method stub

listAdapter.setSelectedPosition(position);

listAdapter.notifyDataSetInvalidated();

if (position % 2 == 1) {

fragmentViewPager.setCurrentItem(1);

}else{

fragmentViewPager.setCurrentItem(0);

}

}

});

}

public void initDatasViewPager() {

fragmentlist = new ArrayList();

fragment1 = new Fragment1();//

fragment2 = new Fragment2();//

fragmentlist.add(fragment1);

fragmentlist.add(fragment2);

fragmentViewPager.setAdapter(new FragmentAdapter(

getSupportFragmentManager(), fragmentlist, this));

fragmentViewPager.setOnPageChangeListener(new MyOnPageChangeListener());

}

// set OnPageChangeListener in inner class

class MyOnPageChangeListener implements OnPageChangeListener {

@Override

public void onPageScrollStateChanged(int arg0) {

// TODO Auto-generated method stub

}

@Override

public void onPageScrolled(int arg0, float arg1, int arg2) {

// TODO Auto-generated method stub

}

/**

* 當點擊不同id的ViewPage的時候才觸發

* */

@Override

public void onPageSelected(int arg0) {

Log.e("tag1", Integer.toString(arg0));

switch (arg0) {

case 0:

break;

case 1:

break;

case 2:

break;

}

}

}

public class ListAdapter extends BaseAdapter {

ArrayList arrayList = null;

LayoutInflater inflater;

View view;

ButtonLayoutHolder buttonLayoutHolder;

LinearLayout buttonLayout = null;

TextView buttonText = null;

private int selectedPosition = -1;// 選中的位置

public ListAdapter(ArrayList buttonListView) {

// TODO Auto-generated constructor stub

arrayList = buttonListView;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return arrayList.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return arrayList.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

public void setSelectedPosition(int position) {

selectedPosition = position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);

view = inflater.inflate(R.layout.button_layout, null, false);

buttonLayoutHolder = (ButtonLayoutHolder) view.getTag();

if (buttonLayoutHolder == null) {

buttonLayoutHolder = new ButtonLayoutHolder();

buttonLayoutHolder.buttonLayout = (LinearLayout) view

.findViewById(R.id.LinearLayoutButton);

buttonLayoutHolder.textView = (TextView) view

.findViewById(R.id.TextViewButton);

view.setTag(buttonLayoutHolder);

}

buttonLayout = buttonLayoutHolder.buttonLayout;

buttonText = buttonLayoutHolder.textView;

if (selectedPosition == position) {

buttonText.setSelected(true);

buttonText.setPressed(true);

buttonLayout.setBackgroundColor(Color.parseColor("#e4e8e9"));

buttonText.setTextColor(Color.BLUE);

} else {

buttonText.setSelected(false);

buttonText.setPressed(false);

buttonLayout.setBackgroundColor(Color.parseColor("#2f4471"));

buttonText.setTextColor(Color.WHITE);

}

buttonText.setHeight(40);

buttonText.setText(arrayList.get(position).textViewId);

return view;

}

};

}

class ButtonView {

int textViewId;

ButtonView(int tId) {

textViewId = tId;

}

}

class ButtonLayoutHolder {

LinearLayout buttonLayout;

TextView textView;

}

FragmentAdapter.java

[java] view plain copy

public class FragmentAdapter extends FragmentPagerAdapter{

private List listmVp;

private Context context;

public FragmentAdapter(FragmentManager fm, List listmVp,Context context) {

super(fm);

this.listmVp = listmVp;

this.context = context;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return listmVp.size();

}

@Override

public Fragment getItem(int arg0) {

// TODO Auto-generated method stub

return listmVp.get(arg0);

}

}

Fragment1.java

public class Fragment1 extends Fragment{

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

return inflater.inflate(R.layout.fragment1, container, false);

}

}

Fragment2.java

public class Fragment2 extends Fragment{

@Override

public View onCreateView(LayoutInflater inflater, ViewGroup container,

Bundle savedInstanceState) {

// TODO Auto-generated method stub

return inflater.inflate(R.layout.fragment2, container, false);

}

}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的android左侧固定导航栏,Android使用fragment实现左侧导航的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。