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;
}
}


0 0
原创粉丝点击