侧滑菜单点击跳转主界面
来源:互联网 发布:小学宝这款软件怎么样 编辑:程序博客网 时间:2024/06/03 20:35
主Activity中写的代码
public class MainActivity extends AppCompatActivity {
private DrawerLayout drawerLayout;private FrameLayout frameLayout;private RelativeLayout relativeLayout;private ListView listView;private List<String> titles;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //抽屉的跟布局 drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); //主内容区域的布局 frameLayout = (FrameLayout) findViewById(R.id.frame_layout); //抽屉布局 relativeLayout = (RelativeLayout) findViewById(R.id.drawer_relative); listView = (ListView) findViewById(R.id.list_view); //给listView设置适配器 titles = new ArrayList<>(); titles.add("头条"); titles.add("社会"); titles.add("国内"); titles.add("军事"); titles.add("财经"); ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,android.R.id.text1, titles); listView.setAdapter(adapter); //刚进入页面的时候 NewsFragment newsFragment = new NewsFragment(); Bundle bundle = new Bundle(); bundle.putString("name",titles.get(0)); newsFragment.setArguments(bundle); getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,newsFragment).commit(); //设置点击事件 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { //隐藏侧滑菜单 drawerLayout.closeDrawer(relativeLayout); NewsFragment newsFragment = new NewsFragment(); Bundle bundle = new Bundle(); bundle.putString("name",titles.get(i)); newsFragment.setArguments(bundle); getSupportFragmentManager().beginTransaction().replace(R.id.frame_layout,newsFragment).commit(); //drawerLayout.openDrawer(relativeLayout);//打开侧滑菜单 } }); //抽屉的监听事件 drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() { /** * * @param drawerView * @param slideOffset 表示的抽屉拖出来的宽度,,像素值 */ @Override public void onDrawerSlide(View drawerView, float slideOffset) { } /** * 抽屉打开了 * @param drawerView */ @Override public void onDrawerOpened(View drawerView) { } /** * 抽屉关闭 * @param drawerView */ @Override public void onDrawerClosed(View drawerView) { } /** * 抽屉的状态改变 * * idle -- 表示与导航视图没有交互,静止 dragging -- 表示目前有与导航视图的交互,拖拽的状态 settling -- 表示有与导航视图的交互,并且导航视图正在关闭或打开 * @param newState */ @Override public void onDrawerStateChanged(int newState) { Log.i("zhaungtai---",newState+"---"); } });}
}
Activity的布局
xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:id=”@+id/drawer_layout”
android:layout_width=”match_parent”
android:layout_height=”match_parent”>
<!--主内容区域--><FrameLayout android:id="@+id/frame_layout" android:layout_width="match_parent" android:layout_height="match_parent"></FrameLayout><!--侧滑的区域 侧滑菜单的默认背景颜色是半透明--><RelativeLayout android:background="#ffffff" android:id="@+id/drawer_relative" android:layout_gravity="left" android:layout_width="200dp" android:layout_height="match_parent"> <ImageView android:id="@+id/image_touxiang" android:layout_centerHorizontal="true" android:layout_margin="10dp" android:src="@mipmap/ic_launcher" android:layout_width="80dp" android:layout_height="80dp" /> <ListView android:id="@+id/list_view" android:layout_below="@+id/image_touxiang" android:layout_width="match_parent" android:layout_height="match_parent"> </ListView></RelativeLayout>
Fragment 中的代码
public class NewsFragment extends Fragment {
private ListView listView;@Nullable@Overridepublic View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_layout,container,false); //找到id listView = view.findViewById(R.id.frament_list_view); return view;}@Overridepublic void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); //获取数据 String name = getArguments().getString("name", ""); //判断 if (name.equals("头条")){ name = "top"; }else if (name.equals("军事")){ name = "junshi"; }else if (name.equals("社会")){ name = "shehui"; }else if (name.equals("财经")){ name = "caijing"; }else if (name.equals("国内")){ name = "guonei"; } getDataFromNet(name);}private void getDataFromNet(final String name) { AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() { @Override protected String doInBackground(Void... voids) { try { URL url = new URL("http://v.juhe.cn/toutiao/index?type="+name+"&key=597b4f9dcb50e051fd725a9ec54d6653"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.setReadTimeout(5000); connection.setConnectTimeout(5000); //获取 int responseCode = connection.getResponseCode(); if (responseCode == 200){ InputStream inputStream = connection.getInputStream(); String json = streamToString(inputStream,"utf-8"); //打印字符串 Log.i("---",json); return json; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { Gson gson = new Gson(); DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class); MyAdapter myAdapter = new MyAdapter(getActivity(), dataDataBean.getResult().getData()); listView.setAdapter(myAdapter); } }; asyncTask.execute();}private String streamToString(InputStream inputStream,String charset) { try { InputStreamReader inputStreamReader = new InputStreamReader(inputStream,charset); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String s = null; StringBuilder builder = new StringBuilder(); while ((s = bufferedReader.readLine()) != null){ builder.append(s); } bufferedReader.close(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null;}
}
阅读全文
0 0
- 侧滑菜单点击跳转主界面
- 侧拉菜单点击跳转
- TabLayout新闻列表和SlidingMenu侧拉菜单ListView点击Item跳转到主界面ViewPager对应页面
- 点击头像 侧滑菜单出现 仿QQ界面
- 点击超链接,不跳转界面
- Notification点击跳转到消息界面返回到主界面Bug解决
- ListView Item点击事件跳转详情界面
- android 点击数字跳转到电话界面
- angular 界面跳转点击两次才展示
- react native 界面跳转与点击事件
- jsp点击按钮时界面跳转
- DrawerLayout 左侧 右侧 点击 侧滑菜单
- DrawerLayout侧滑菜单点击切换Xlistview
- 侧滑界面/侧拉菜单
- android ViewPager实现App主界面Tab菜单页面切换和点击事件
- 点击菜单跳转页面给点击的菜单添加新的样式
- 关于日历点击跳转以及短信点击跳转到指定联系人界面的一些记录
- 下拉菜单点击实现连接跳转的js代码
- iOS之旅--iOS11的一些适配工作
- Windows7 安装TensorFlow
- 一个老程序猿的焦虑
- iOS 应用内连接WIFI 仅限iOS 11
- 陀螺仪加速度参数的标准计算
- 侧滑菜单点击跳转主界面
- 最新技术提升Redis,Elasticsearch,Netty,Netty,Netty,java8新特性
- java 对时间的加减
- 微博深度学习平台架构和实践
- Linux vi 快捷键
- 那些女程序员们的故事
- 程序包org.apache.http不存在,解决方式
- 马云说,即使阿里巴巴死了,达摩院也要活着
- 【问题】Keras AttributeError: 'Tensor' object has no attribute '_keras_history'