slidingMenuFragment
来源:互联网 发布:mysql 安装 编辑:程序博客网 时间:2024/06/10 00:40
<TextView
android:id="@+id/tv_home"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/bg_selector"
android:clickable="true"
android:gravity="center_vertical"
android:padding="10dip"
android:text="主页"
android:textColor="@android:color/white" />
点击选择
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true">
<color android:color="#ff0000" />
</item>
<item android:state_pressed="true">
<color android:color="#ff0000" />
</item>
<item>
<color android:color="@android:color/transparent" />
</item>
</selector>
package com.example.listview1409s;
import com.example.listview1409s.frgment.MyFragment;
import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
import com.jeremyfeinstein.slidingmenu.lib.app.SlidingFragmentActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class FragmentSlidingTestActivity extends SlidingFragmentActivity {
private View tvHome;
private View tvAbout;
private View tvReset;
private View tvSearch;
private SlidingMenu slidingMenu;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content);
//设置侧拉菜单
setBehindContentView(R.layout.left_drawer);
// 设置Sliding属性
slidingMenu = getSlidingMenu();
slidingMenu.setBehindOffsetRes(R.dimen.offset);
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
// 查找view
tvHome = findViewById(R.id.tv_home);
tvAbout = findViewById(R.id.tv_about);
tvReset = findViewById(R.id.tv_reset);
tvSearch = findViewById(R.id.tv_search);
// 添加事件
tvHome.setOnClickListener(mClickListener);
tvAbout.setOnClickListener(mClickListener);
tvReset.setOnClickListener(mClickListener);
tvSearch.setOnClickListener(mClickListener);
// 默认选中第一个
tvHome.setSelected(true);
// 显示主页
getSupportFragmentManager().beginTransaction().replace(R.id.content, new MainActivity()).commit();
}
View.OnClickListener mClickListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Bundle args = new Bundle();
//设置选中点中的菜单
selectMenuStaus(v);
//隐藏菜单
slidingMenu.showContent();
switch (v.getId()) {
case R.id.tv_home:
getSupportFragmentManager().beginTransaction().replace(R.id.content, new MainActivity()).commit();
break;
case R.id.tv_about:
v.setSelected(true);
case R.id.tv_reset:
v.setSelected(true);
case R.id.tv_search:
//替换页面
v.setSelected(true);
MyFragment f = new MyFragment();
args.putString("key", ((TextView) v).getText().toString());
f.setArguments(args);
getSupportFragmentManager().beginTransaction().replace(R.id.content, f).commit();
default:
break;
}
}
/**
* 设置选中菜单状态
* @param v
*/
private void selectMenuStaus(View v) {
View[] viewArr = { tvHome, tvAbout, tvReset, tvSearch };
for (int i = 0; i < viewArr.length; i++) {
viewArr[i].setSelected(viewArr[i].getId() == v.getId());
}
}
};
}
package com.example.listview1409s;
import com.example.listview1409s.adapter.MyAdapter;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.ListView;
import android.widget.TextView;
public class MainActivity extends Fragment {
private ListView mLv;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View root = inflater.inflate(R.layout.activity_main, null);
// 创建一个header
TextView header = new TextView(getActivity());
header.setText("聊天记录");
header.setTextColor(Color.WHITE);
header.setBackgroundColor(Color.RED);
header.setGravity(Gravity.CENTER);
header.setPadding(15, 15, 15, 15);
// 创建一个footer
TextView footer = new TextView(getActivity());
footer.setText("已经到底");
footer.setTextColor(Color.WHITE);
footer.setBackgroundColor(Color.RED);
footer.setGravity(Gravity.CENTER);
footer.setPadding(15, 15, 15, 15);
// 查找ListView
mLv = (ListView) root.findViewById(R.id.lv);
// 添加header
mLv.addHeaderView(header);
// 添加footer
mLv.addFooterView(footer);
// 注意:必须在setAdapter之前添加header和footer,否则报错
mLv.setAdapter(new MyAdapter(getActivity()));
mLv.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_IDLE:
Log.e("tag", "SCROLL_STATE_IDLE");
break;
case OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
Log.e("tag", "SCROLL_STATE_TOUCH_SCROLL");
break;
case OnScrollListener.SCROLL_STATE_FLING:
Log.e("tag", "SCROLL_STATE_FLING");
break;
default:
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
String msg = String.format("firstVisibleItem=%d,visibleItemCount=%d,totalItemCount=%d", firstVisibleItem, visibleItemCount,
totalItemCount);
// Log.e("tag", msg);
}
});
return root;
}
}
package com.example.listview1409s.frgment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
Bundle arguments = getArguments();
String text = arguments.getString("key");
TextView tv = new TextView(getActivity());
tv.setText(text);
return tv;
}
}
- slidingMenuFragment
- C#——对象转换为JSON格式的字符串
- 【链表】C++两个链表的公共结点
- deploy type选哪个,J2EE项目以“Exploded Archive”模式部署时无效
- 没看出来
- 静态网页的大体框架
- slidingMenuFragment
- 【Get深一度】Win10更改文本、应用和其他项目大小改为125%后,第三方软件界面变模糊解决办法
- 设计模式学习之——策略模式
- POJ 1087 A Plug for UNIX(最大流)
- 循环结构二(for)
- Android中SQLite的使用 快速入门SQLite
- 【总结】机房合作碎知识总结一
- 常见设计模式之工厂模式(Factory)
- 利用Java代码给gridLayout动态添加button按钮