DrawerLayout(侧拉)与多条目的展示

2024-03-03 22:32

本文主要是介绍DrawerLayout(侧拉)与多条目的展示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//创建侧拉listview的条目


<resources><string name="app_name">RIKAO0912</string><string-array name="news"><item>关注</item><item>推荐</item><item>热点</item><item>视频</item><item>数码</item><item>科技</item></string-array>
</resources>


//布局

<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"><LinearLayoutandroid:layout_width="wrap_content"android:layout_height="match_parent"android:orientation="vertical"><ListViewandroid:layout_width="wrap_content"android:layout_height="match_parent"android:id="@+id/listview"/></LinearLayout><ListViewandroid:layout_width="180sp"android:layout_height="match_parent"android:layout_gravity="left"android:id="@+id/lv"android:entries="@array/news"android:background="#fff"/></android.support.v4.widget.DrawerLayout>


//具体的方法操作

import android.os.AsyncTask;
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.ListView;
import android.widget.Toast;import com.google.gson.Gson;import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.List;public class MainActivity extends AppCompatActivity {private DrawerLayout dl;private ListView lv1,lv2;private static final String surl="http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4http://v.juhe.cn/toutiao/index?type=";String ss="&key=2f092bd9ce76c0257052d6d3c93c11b4";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dl=(DrawerLayout)findViewById(R.id.activity_main);lv1=(ListView)findViewById(R.id.lv);lv2=(ListView)findViewById(R.id.listview);dl.openDrawer(lv1);//侧拉的条目监听lv1.setOnItemClickListener(new AdapterView.OnItemClickListener() {@Overridepublic void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {Toast.makeText(MainActivity.this,"qqqq"+i,Toast.LENGTH_SHORT).show();if(i==0){int p=1;init(surl+p+ss);}elseif(i==1){int p=2;init(surl+p+ss);}elseif(i==2){int p=3;init(surl+p+ss);}elseif(i==3){int p=4;init(surl+p+ss);}}});}private void init(String f)  {new AsyncTask<String,Integer,String>(){@Overrideprotected String doInBackground(String... strings) {String ss=strings[0];String str="";try {URL url = new URL(ss);HttpURLConnection http=(HttpURLConnection)url.openConnection();http.setReadTimeout(2000);http.setConnectTimeout(2000);int rc = http.getResponseCode();if(rc==200){InputStream in = http.getInputStream();byte[] b=new byte[1024];int len=0;while((len=in.read(b))!=-1){str+=new String(b,0,len);}}} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return str;}@Overrideprotected void onPostExecute(String s) {super.onPostExecute(s);Log.i("TAG",s);List<JavaBean.ResultBean.DataBean> data = new Gson().fromJson(s, JavaBean.class).getResult().getData();Log.i("TAG",data.size()+"");//设置适配器lv2.setAdapter(new Myadapter(data,MainActivity.this));}}.execute(f);} 
}

//创建universal_Imager_Loader,注意导入gson和universal_Imager_Loader的架包import android.app.Application;import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;public class MyApplication extends Application {@Overridepublic void onCreate() {super.onCreate();ImageLoaderConfiguration con=new ImageLoaderConfiguration.Builder(this).build();ImageLoader.getInstance().init(con);}}//创建适配器的类package com.example.shenxuesong.rikao0912;import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageSize;import java.util.List;public class Myadapter extends BaseAdapter {private List<JavaBean.ResultBean.DataBean> data;private Context context;public Myadapter(List<JavaBean.ResultBean.DataBean> data, Context context) {this.data = data;this.context = context;}@Overridepublic int getCount() {return data.size();}@Overridepublic Object getItem(int i) {return data.get(i);}@Overridepublic long getItemId(int i) {return i;}//判断子条目的布局@Overridepublic int getItemViewType(int position) {int re=0;if(data.get(position).getThumbnail_pic_s()!=null&&data.get(position).getThumbnail_pic_s02()!=null&&data.get(position).getThumbnail_pic_s03()!=null){re=0;}else if(data.get(position).getThumbnail_pic_s()!=null&&data.get(position).getThumbnail_pic_s02()!=null&&data.get(position).getThumbnail_pic_s03()==null){re=1;}else if(data.get(position).getThumbnail_pic_s()!=null&&data.get(position).getThumbnail_pic_s02()==null&&data.get(position).getThumbnail_pic_s03()==null){re=2;}return re;}@Overridepublic int getViewTypeCount() {return 3;}@Overridepublic View getView(int i, View view, ViewGroup viewGroup) {ViewHolder1 holder1=null;ViewHolder2 holder2=null;ViewHolder3 holder3=null;int re = getItemViewType(i);if(re==0){if(view==null){view=View.inflate(context,R.layout.item1,null);holder1=new ViewHolder1();holder1.tv=(TextView) view.findViewById(R.id.tv);holder1.image1=(ImageView)view.findViewById(R.id.image1);holder1.image2=(ImageView)view.findViewById(R.id.image2);holder1.image3=(ImageView)view.findViewById(R.id.image3);view.setTag(holder1);}else{holder1= (ViewHolder1) view.getTag();}holder1.tv.setText(data.get(i).getTitle()+"\n"+data.get(i).getAuthor_name()+"\n"+data.get(i).getDate());String thumbnail_pic_s = data.get(i).getThumbnail_pic_s();String thumbnail_pic_s02 = data.get(i).getThumbnail_pic_s02();String thumbnail_pic_s03 = data.get(i).getThumbnail_pic_s03();ImageSize size=new ImageSize(100,100);ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder1.image1,size);ImageLoader.getInstance().displayImage(thumbnail_pic_s02,holder1.image2,size);ImageLoader.getInstance().displayImage(thumbnail_pic_s03,holder1.image3,size);}else if(re==1){if(view==null){view=View.inflate(context,R.layout.item2,null);holder2=new ViewHolder2();holder2.tv=(TextView) view.findViewById(R.id.tv);holder2.image1=(ImageView)view.findViewById(R.id.image1);holder2.image2=(ImageView)view.findViewById(R.id.image2);view.setTag(holder2);}else{holder2= (ViewHolder2) view.getTag();}holder2.tv.setText(data.get(i).getTitle()+"\n"+data.get(i).getAuthor_name()+"\n"+data.get(i).getDate());String thumbnail_pic_s = data.get(i).getThumbnail_pic_s();String thumbnail_pic_s02 = data.get(i).getThumbnail_pic_s02();ImageSize size=new ImageSize(100,100);ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder2.image1,size);ImageLoader.getInstance().displayImage(thumbnail_pic_s02,holder2.image2,size);}else if(re==2){if(view==null){view=View.inflate(context,R.layout.item3,null);holder3=new ViewHolder3();holder3.tv=(TextView) view.findViewById(R.id.tv);holder3.image1=(ImageView)view.findViewById(R.id.image1);view.setTag(holder3);}else{holder3= (ViewHolder3) view.getTag();}holder3.tv.setText(data.get(i).getTitle()+"\n"+data.get(i).getAuthor_name()+"\n"+data.get(i).getDate());String thumbnail_pic_s = data.get(i).getThumbnail_pic_s();;ImageSize size=new ImageSize(100,100);ImageLoader.getInstance().displayImage(thumbnail_pic_s,holder3.image1,size);}return view;}class ViewHolder3{TextView tv;ImageView image1;}class ViewHolder2{TextView tv;ImageView image1;ImageView image2;}class ViewHolder1{TextView tv;ImageView image1;ImageView image2;ImageView image3;}
}//配置权限<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.shenxuesong.rikao0912">
<uses-permission android:name="android.permission.INTERNET"/><applicationandroid:name=".MyApplication"android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/Theme.AppCompat.Light"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>




这篇关于DrawerLayout(侧拉)与多条目的展示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/771125

相关文章

起点中文网防止网页调试的代码展示

起点中文网对爬虫非常敏感。如图,想在页面启用调试后会显示“已在调试程序中暂停”。 选择停用断点并继续运行后会造成cpu占用率升高电脑卡顿。 经简单分析网站使用了js代码用于防止调试并在强制继续运行后造成电脑卡顿,代码如下: function A(A, B) {if (null != B && "undefined" != typeof Symbol && B[Symbol.hasInstan

Android ToolBar+DrawerLayout的实现

实现思路: 1.关联相应的依赖包 compile ‘com.android.support:appcompat-v7:25.3.1’ 2.主布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"

2024 年高教社杯全国大学生数学建模竞赛题目——2024 年高教社杯全国大学生数学建模竞赛题目的求解

2024 年高教社杯全国大学生数学建模竞赛题目 (请先阅读“ 全国大学生数学建模竞赛论文格式规范 ”) 2024 年高教社杯全国大学生数学建模竞赛题目 随着城市化进程的加快、机动车的快速普及, 以及人们活动范围的不断扩大,城市道 路交通拥堵问题日渐严重,即使在一些非中心城市,道路交通拥堵问题也成为影响地方经 济发展和百姓幸福感的一个“痛点”,是相关部门的棘手难题之一。 考虑一个拥有知名景区

通过Ajax请求后台数据,返回JSONArray(JsonObject),页面(Jquery)以table的形式展示

点击“会商人员情况表”,弹出层,显示一个表格,如下图: 利用Ajax和Jquery和JSONArray和JsonObject来实现: 代码如下: 在hspersons.html中: <!DOCTYPE html><html><head><meta charset="UTF-8"><title>会商人员情况表</title><script type="text/javasc

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示

Jasperreports+jaspersoft studio 实现单个或多个jrxml(jasper)文件生成一个pdf文件,并利用Servlet发送该pdf文件到浏览器中展示; 代码如下: Demo07.jrxml <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.6.

【CSS】flex布局 - 左边超过打点, 右边完整展示

场景:宽度一定的情况下右边自适应,左边被挤压。 需要的效果如下: flex 的三个参数分别对应:flex-grow、flex-shrink、flex-basis。 flex-grow:定义项目的放大比例,默认为0。即如果存在剩余空间,也不放大。flex-shrink:定义项目的缩小比例,默认为1。即如果空间不足,该项目将缩小。flex-basis:定义在分配多余空间之前,项目占据的主轴空间。

C# 无法删除 Winform的PictureBox正在展示的图片

最近用C#的前端项目,写了PictureBox展示并上传图片。想删除掉已经展示和上传的图片,提示资源正在使用中不能删除。 查了一些原因,总结原因是PictureBox控件占用着图片资源,不允许删除。 从PictureBox展示图片入手,可以采用以下两个解决办法: 1:使用Bitmap类转接图片资源 Image bmp = new Bitmap(img); this.twoPictureBo

各种算法动画展示,效果不错。

各种算法动画展示: http://www.yxqzzx.cn/teacher/ShowArticle.asp?ArticleID=417

QT4.8 不展示JPG图片问题解决办法

最近遇到一个很奇怪的问题,项目在自己机上展示JPG图片都是正常的,打包给客户机上始终不展示,试过很多方法,比如本机Debug下不管是运行工程文件还是直接运行 .exe文件 都是可以展示JPG图片的 ,而Release下 发现运行工程文件时 JPG文件也是可以展示的 但是直接运行 Release下exe文件 是不展示JPG文件的。最终经过大神的提示和网上的搜索 知道是由于缺少jpg插件 , 也就是

图形API学习工程(0):工程目的环境配置

工程目的 我想要不借助引擎,而直接使用底层图形API(如DirectX和OpenGL等)来生成图像。 我认为这将有利于图形学算法与渲染框架相关的学习,因为: 游戏引擎往往对渲染进行了豪华的封装,而不利于看到图形学算法本质。UE4虽然开放了源代码,但是想要完全掌握渲染方面的代码也需要较高成本。 另外,我想对不止一个主流API进行封装,而是多个图形API进行封装,包括: OpenGLD3D1