侧拉弹出框 点击切换内容

//第一个MainActity

import android.annotation.SuppressLint;

import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.Toast;


import com.google.gson.Gson;


import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;


public class MainActivity extends AppCompatActivity {
    private List<SuperClass.DataBean> list;
    private ListView listView;
    private ListView lv;
    private String sj;
    private List<Jbean.DataBean> data;
    private DrawerLayout draw;
    private LinearLayout li;
    private int num = 1;
  @SuppressLint("HandlerLeak")


   String pa = "http://120.27.23.105/product/getProductCatagory?cid=";
  Handler handler = new Handler(){






      @Override
      public void handleMessage(Message msg) {
          super.handleMessage(msg);
          Gson gson = new Gson();
          Jbean jbean = gson.fromJson(sj, Jbean.class);
          Toast.makeText(MainActivity.this, jbean + "j", Toast.LENGTH_SHORT).show();
          data = jbean.getData();
          MyAdapter adapter = new MyAdapter(data,MainActivity.this);
          lv.setAdapter(adapter);
      }
  };




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.list_view);
        lv = findViewById(R.id.lv);
        draw = findViewById(R.id.draw);
        li = findViewById(R.id.li);
        new Thread(){






            @Override
            public void run() {
                super.run();
                sj = GetUrl.getJson();
                handler.sendEmptyMessage(0);
            }
        }.start();


        lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {


            @SuppressLint("StaticFieldLeak")


            @Override
            public void onItemClick(AdapterView<?> parent, View view, final int position, long id) {
                num = (position%3)+1;
                draw.closeDrawer(li);
                new AsyncTask<String, String, String>() {
                    @Override
                    protected String doInBackground(String... strings) {
                       String d = "";
                            try {
                                URL url = new URL(pa+num);
                                HttpURLConnection connection = (HttpURLConnection)          url.openConnection();
                                connection.setConnectTimeout(5000);
                                connection.setReadTimeout(5000);
                                int code = connection.getResponseCode();
                                if (code==200) {
                                    InputStream in = connection.getInputStream();
                                    int len = 0;
                                    byte[] b = new byte[1024 * 20];
                                    while ((len = in.read(b)) != -1) {
                                        String s = new String(b, 0, len);
                                        d += s;
                                    }
                                }
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                        return d;
                    }


                    @Override
                    protected void onPostExecute(String s) {
                        super.onPostExecute(s);
                        Gson gson = new Gson();
                        SuperClass superClass = gson.fromJson(s, SuperClass.class);
                        list = superClass.getData();
                        MyAdapter1 adapter = new MyAdapter1(list,MainActivity.this);
                        listView.setAdapter(adapter);
                    }
                }.execute();
            }
        });


    }

}

//第一个适配器

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 java.util.List;





public class MyAdapter extends BaseAdapter {
    private List<Jbean.DataBean> data;
    private Context context;
    ViewHodler hodler;


    public MyAdapter(List<Jbean.DataBean> data, Context context) {
        this.data = data;
        this.context = context;
    }


    @Override
    public int getCount() {
        return data.size();
    }


    @Override
    public Object getItem(int position) {
        return null;
    }


    @Override
    public long getItemId(int position) {
        return 0;
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView==null){
            convertView=View.inflate(context,R.layout.item1,null);
            hodler = new ViewHodler();
            hodler.tv = convertView.findViewById(R.id.tv);
            hodler.img= convertView.findViewById(R.id.img);
            convertView.setTag(hodler);


        }else {
           hodler = (ViewHodler) convertView.getTag();
        }
        hodler.tv.setText(data.get(position).getName());
        ImageLoader.getInstance().displayImage(data.get(position).getIcon(),hodler.img);
        return convertView;
    }
    class ViewHodler{
        TextView tv;
        ImageView img;


    }
}

//第二个适配器

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 java.util.List;




public class MyAdapter1 extends BaseAdapter {
    private List<SuperClass.DataBean> list;
    private Context context;
    ViewHodler hodler;


    public MyAdapter1(List<SuperClass.DataBean> data, Context context) {
        this.list = data;
        this.context = context;
    }


    @Override
    public int getCount() {
        return list.size();
    }


    @Override
    public Object getItem(int position) {
        return null;
    }


    @Override
    public long getItemId(int position) {
        return 0;
    }


    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (convertView==null){
            convertView=View.inflate(context,R.layout.item,null);
            hodler = new ViewHodler();
            hodler.tv = convertView.findViewById(R.id.tv);
            hodler.img= convertView.findViewById(R.id.img);
            convertView.setTag(hodler);


        }else {
           hodler = (ViewHodler) convertView.getTag();
        }
        hodler.tv.setText(list.get(position).getName());
        ImageLoader.getInstance().displayImage(list.get(position).getList().get(0).getIcon(),hodler.img);
        return convertView;
    }
    class ViewHodler{
        TextView tv;
        ImageView img;


    }
}

//辅助类 继承Appliction

import android.app.Application;
import android.os.Environment;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;


import java.io.File;


public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
                .discCache(new UnlimitedDiskCache(new File(Environment.getExternalStorageDirectory()
                        + "/image")))
                .defaultDisplayImageOptions(getImage())
                .build();
        ImageLoader.getInstance().init(configuration);
    }
    public DisplayImageOptions getImage() {
        DisplayImageOptions image = new DisplayImageOptions.Builder()
                .showImageOnFail(R.mipmap.ic_launcher)
                .showImageForEmptyUri(R.mipmap.ic_launcher)
                .showImageOnLoading(R.mipmap.ic_launcher)
                .cacheInMemory(true)
                .cacheOnDisc(true)
                .build();
        return image;
    }
}

import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;


/**
 * Created 朱治文lenovo on 2018/1/8
 * .
 */

//创建工具类 
public class GetUrl  {
    public static String getJson(){
        String path="http://120.27.23.105/product/getCatagory";
        String data="";
        try {
            URL url = new URL(path);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setConnectTimeout(5000);
            connection.setReadTimeout(5000);
            int code = connection.getResponseCode();
            if (code==200){
                InputStream in = connection.getInputStream();
                int len= 0;
                byte[] b = new byte[1024*20];
                while ((len=in.read(b))!=-1){
                    String s = new String(b,0,len);
                    data+= s;
                }


            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return data;
    }
}

//MainActity的副本

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/draw"
    tools:context="com.example.zhuzhiwen1511r20180108.MainActivity">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/list_view"></ListView>
</LinearLayout>


<LinearLayout
    android:id="@+id/li"
    android:layout_width="240dp"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_gravity="start">
    <ListView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lv"></ListView>
        </LinearLayout>
</android.support.v4.widget.DrawerLayout>


//第一个item

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/img"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv"/>


</LinearLayout>

//第二个item

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <ImageView
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/img"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv"/>


</LinearLayout>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个简单的示例代码,演示如何在界面上添加一个抽屉侧拉框: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>抽屉侧拉框示例</title> <style> /* 抽屉侧拉框的样式 */ .drawer { position: fixed; /* 固定定位 */ top: 0; left: 0; width: 300px; /* 宽度 */ height: 100%; background-color: #fff; box-shadow: 0 0 10px rgba(0,0,0,0.5); /* 阴影效果 */ transition: transform 0.3s ease-in-out; /* 过渡效果 */ transform: translateX(-100%); /* 初始状态为隐藏 */ z-index: 999; /* 层级 */ } .drawer.show { transform: translateX(0); /* 显示 */ } .drawer-header { display: flex; align-items: center; justify-content: space-between; padding: 10px; background-color: #f5f5f5; } .drawer-header h2 { margin: 0; } .drawer-close { cursor: pointer; font-size: 1.5rem; color: #999; transition: color 0.3s ease-in-out; } .drawer-close:hover { color: #000; } .drawer-content { padding: 10px; } </style> </head> <body> <!-- 主界面 --> <div id="app"> <h1>抽屉侧拉框示例</h1> <p>点击下面的按钮打开侧拉框</p> <button @click="showDrawer">打开侧拉框</button> </div> <!-- 抽屉侧拉框 --> <div class="drawer" :class="{ 'show': isDrawerVisible }"> <div class="drawer-header"> <h2>侧拉框标题</h2> <span class="drawer-close" @click="hideDrawer">×</span> </div> <div class="drawer-content"> <p>这里是侧拉框的内容</p> </div> </div> <script> // Vue.js示例代码,用于控制抽屉侧拉框的显隐状态 var app = new Vue({ el: '#app', data: { isDrawerVisible: false }, methods: { showDrawer: function() { this.isDrawerVisible = true; }, hideDrawer: function() { this.isDrawerVisible = false; } } }); </script> </body> </html> ``` 你可以根据自己的需求修改样式和内容,实现自己想要的抽屉侧拉框效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值