drawlayout侧拉
来源:互联网 发布:js数组包含另一个数组 编辑:程序博客网 时间:2024/05/22 06:16
activiet——xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout 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>
</android.support.v4.widget.DrawerLayout>
fragemtn——xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/list_view" android:layout_width="match_parent" android:layout_height="match_parent"></ListView></LinearLayout>mainactivity.java
package news1510a.bawei.com.a11_drawer_layout_demo;import android.os.Bundle;import android.support.v4.widget.DrawerLayout;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.view.View;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.FrameLayout;import android.widget.ListView;import android.widget.RelativeLayout;import com.example.a12_tabayout_viewpager.NewsFragment;import com.example.a12_tabayout_viewpager.R;import java.util.ArrayList;import java.util.List;/** * 使用drawerLayout实现侧滑菜单 * * 参考博客:http://www.cnblogs.com/zhangqie/p/6410749.html * http://blog.csdn.net/liujiawei00/article/details/51427098 * * 1.换一个接口支持刷新的接口....下拉的时候请求第一页,,,上拉的时候page+1 * 2.多条目 * */public class MainActivity extends AppCompatActivity { private DrawerLayout drawerLayout; private FrameLayout frameLayout; private RelativeLayout relativeLayout; private ListView listView; private List<String> titles; @Override protected 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+"---"); } }); }} Newsfragment-------.javapackage news1510a.bawei.com.a11_drawer_layout_demo;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v4.app.Fragment;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ListView;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;/** * @author Dash * @date 2017/10/12 * @description: */public class NewsFragment extends Fragment { private ListView listView; @Nullable @Override public 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; } @Override public 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; }}
- DrawLayout侧拉
- drawlayout侧拉
- DrawLayout
- DrawLayout
- Drawlayout
- DrawLayout
- drawlayout
- 侧滑菜单(三):DrawLayout
- 教你用DrawLayout 实现Android 侧滑菜单
- 如何把DrawLayout做出SlidingMenu的侧滑效果
- 侧滑菜单的实现方式(三):drawlayout
- drawlayout侧滑
- android学习日记(十一):DrawLayout高仿QQ5.2双向侧滑效果
- DrawLayout的使用
- 抽屉效果(DrawLayout)
- drawlayout的使用
- DrawLayout 侧滑侧栏点击穿透
- drawlayout的使用
- 程序员转型学习人工智能(AI)
- Android开发:用Drawable XML绘制带阴影效果的圆形按钮
- 小学生大数据分析-自己的感触
- POJ1275 Cashier Employment (差分约束系统 + 二分答案)
- 车站分级 (线段树优化建边 拓扑序最长路)
- drawlayout侧拉
- 直播 | 脑血管斑块磁共振成像:技术研发、临床转化和数据挑战
- DUBBO+SPRINGMVC+MYBATIS+EHCACHE+REDIS }企业大型互联网分布式架构{JAVA分布式架构}
- 结合redis设计与实现的redis源码学习-7-ziplist(压缩列表)
- Frament
- android String.charAt的使用
- Activity启动模式与任务栈(Task)全面深入记录(上)
- 快速集成视频直播功能
- 如何一次性添加整个文件夹到vs中