• 通过Viewpager 来实现微信界面左右滑动。


     1 package com.lixu.huadong;
     2 
     3 import java.util.ArrayList;
     4 
     5 import android.os.Bundle;
     6 import android.support.v4.app.Fragment;
     7 import android.support.v4.app.FragmentActivity;
     8 import android.support.v4.app.FragmentManager;
     9 import android.support.v4.app.FragmentPagerAdapter;
    10 import android.support.v4.view.ViewPager;
    11 import android.view.Window;
    12 
    13 public class MainActivity extends FragmentActivity {
    14     private MyAdapter mMyAdapter = null;
    15     private ArrayList<Fragment> list = null;
    16 
    17     @Override
    18     protected void onCreate(Bundle savedInstanceState) {
    19         super.onCreate(savedInstanceState);
    20         // 去掉程序标题头
    21         requestWindowFeature(Window.FEATURE_NO_TITLE);
    22 
    23         setContentView(R.layout.activity_main);
    24 
    25         list = new ArrayList<Fragment>();
    26         list.add(new MyFragment1());
    27         list.add(new MyFragment2());
    28         list.add(new MyFragment3());
    29         list.add(new MyFragment4());
    30 
    31         ViewPager vp = (ViewPager) findViewById(R.id.vp);
    32         mMyAdapter = new MyAdapter(this.getSupportFragmentManager());
    33         vp.setAdapter(mMyAdapter);
    34 
    35     }
    36 
    37     private class MyAdapter extends FragmentPagerAdapter {
    38 
    39         public MyAdapter(FragmentManager fm) {
    40             super(fm);
    41         }
    42 
    43         @Override
    44         public Fragment getItem(int arg0) {
    45             return list.get(arg0);
    46         }
    47 
    48         @Override
    49         public int getCount() {
    50             return list.size();
    51         }
    52 
    53     }
    54 
    55 }
     1 package com.lixu.huadong;
     2 
     3 import android.os.Bundle;
     4 import android.support.v4.app.Fragment;
     5 import android.view.LayoutInflater;
     6 import android.view.View;
     7 import android.view.ViewGroup;
     8 import android.widget.ImageView;
     9 
    10 class MyFragment1 extends Fragment {
    11 
    12     @Override
    13     public void onCreate(Bundle savedInstanceState) {
    14         super.onCreate(savedInstanceState);
    15     }
    16 
    17     // 创建view 也可以直接在这里面获取view中的控件。
    18     @Override
    19     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    20 
    21         View view = inflater.inflate(R.layout.list, null);
    22 
    23         return view;
    24     }
    25 
    26     // 创建view完毕 可以直接在onCreateView中获取view中控件。
    27     @Override
    28     public void onViewCreated(View view, Bundle savedInstanceState) {
    29         super.onViewCreated(view, savedInstanceState);
    30 
    31         ImageView iv = (ImageView) view.findViewById(R.id.iv);
    32         iv.setImageResource(R.drawable.weixinjiemian);
    33     }
    34 }
      1 package com.lixu.huadong;
      2 
      3 import java.util.ArrayList;
      4 import java.util.HashMap;
      5 
      6 import android.content.Context;
      7 import android.graphics.Color;
      8 import android.os.Bundle;
      9 import android.support.v4.app.Fragment;
     10 import android.view.LayoutInflater;
     11 import android.view.View;
     12 import android.view.ViewGroup;
     13 import android.widget.ArrayAdapter;
     14 import android.widget.ListView;
     15 import android.widget.TextView;
     16 
     17 class MyFragment2 extends Fragment {
     18     private static final String TYPE = "type";
     19     private static final String DATE = "date";
     20     private static final int GROUP = -1;
     21     private static final int ITEM = -2;
     22 
     23     private ArrayList<HashMap<String, Object>> item = null;
     24 
     25     @Override
     26     public void onCreate(Bundle savedInstanceState) {
     27         super.onCreate(savedInstanceState);
     28 
     29     }
     30 
     31     // 创建view
     32     @Override
     33     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     34 
     35         View view = inflater.inflate(R.layout.list1, null);
     36 
     37         return view;
     38     }
     39 
     40     // 创建view完毕
     41     @Override
     42     public void onViewCreated(View view, Bundle savedInstanceState) {
     43         super.onViewCreated(view, savedInstanceState);
     44 
     45         ListView lv = (ListView) view.findViewById(R.id.lv);
     46         MyAdaper adapter = new MyAdaper(getActivity(), -1);
     47 
     48         item = new ArrayList<HashMap<String, Object>>();
     49 
     50         String[] groups = { "家人", "朋友", "同学", "同事" };
     51         String[] date = { "张三", "李四", "王五", "狗儿" };
     52         for (String str : groups) {
     53             HashMap<String, Object> group_map = new HashMap<String, Object>();
     54 
     55             group_map.put(TYPE, GROUP);
     56             group_map.put(DATE, str);
     57             item.add(group_map);
     58             for (String n : date) {
     59 
     60                 HashMap<String, Object> date_map = new HashMap<String, Object>();
     61 
     62                 date_map.put(TYPE, ITEM);
     63                 date_map.put(DATE, n);
     64                 item.add(date_map);
     65 
     66             }
     67 
     68         }
     69         lv.setAdapter(adapter);
     70     }
     71 
     72     private class MyAdaper extends ArrayAdapter {
     73         private LayoutInflater flater = null;
     74         private Context context;
     75 
     76         public MyAdaper(Context context, int resource) {
     77             super(context, resource);
     78             this.context = context;
     79             flater = LayoutInflater.from(context);
     80         }
     81 
     82         @Override
     83         public int getCount() {
     84             return item.size();
     85         }
     86 
     87         @Override
     88         public int getItemViewType(int position) {
     89             HashMap<String, Object> map = item.get(position);
     90             return (Integer) map.get(TYPE);
     91         }
     92 
     93         @Override
     94         public int getViewTypeCount() {
     95 
     96             return 2;
     97         }
     98 
     99         @Override
    100         public View getView(int position, View convertView, ViewGroup parent) {
    101             int type = getItemViewType(position);
    102             // 根据不同的view type加载不同的布局文件。
    103             switch (type) {
    104             case GROUP:
    105 
    106                 convertView = flater.inflate(android.R.layout.simple_list_item_1, null);
    107                 TextView tv1 = (TextView) convertView.findViewById(android.R.id.text1);
    108                 tv1.setText(item.get(position).get(DATE) + "");
    109                 tv1.setBackgroundColor(Color.RED);
    110                 tv1.setTextSize(20);
    111 
    112                 break;
    113             case ITEM:
    114                 convertView = flater.inflate(android.R.layout.simple_list_item_1, null);
    115                 TextView tv2 = (TextView) convertView.findViewById(android.R.id.text1);
    116                 tv2.setText(item.get(position).get(DATE) + "");
    117 
    118                 break;
    119 
    120             default:
    121                 break;
    122             }
    123 
    124             return convertView;
    125         }
    126 
    127     }
    128 
    129 }
     1 package com.lixu.huadong;
     2 
     3 import android.os.Bundle;
     4 import android.support.v4.app.Fragment;
     5 import android.view.LayoutInflater;
     6 import android.view.View;
     7 import android.view.ViewGroup;
     8 import android.widget.ImageView;
     9 
    10 class MyFragment3 extends Fragment {
    11 
    12     @Override
    13     public void onCreate(Bundle savedInstanceState) {
    14         super.onCreate(savedInstanceState);
    15     }
    16 
    17     // 创建view
    18     @Override
    19     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    20 
    21         View view = inflater.inflate(R.layout.list, null);
    22 
    23         return view;
    24     }
    25 
    26     // 创建view完毕
    27     @Override
    28     public void onViewCreated(View view, Bundle savedInstanceState) {
    29         super.onViewCreated(view, savedInstanceState);
    30 
    31         ImageView iv = (ImageView) view.findViewById(R.id.iv);
    32         iv.setImageResource(R.drawable.faxianjiemian);
    33     }
    34 }
     1 package com.lixu.huadong;
     2 
     3 import android.os.Bundle;
     4 import android.support.v4.app.Fragment;
     5 import android.view.LayoutInflater;
     6 import android.view.View;
     7 import android.view.ViewGroup;
     8 import android.widget.ImageView;
     9 
    10 class MyFragment4 extends Fragment {
    11 
    12     @Override
    13     public void onCreate(Bundle savedInstanceState) {
    14         super.onCreate(savedInstanceState);
    15     }
    16 
    17     // 创建view
    18     @Override
    19     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    20 
    21         View view = inflater.inflate(R.layout.list, null);
    22 
    23         return view;
    24     }
    25 
    26     // 创建view完毕
    27     @Override
    28     public void onViewCreated(View view, Bundle savedInstanceState) {
    29         super.onViewCreated(view, savedInstanceState);
    30 
    31         ImageView iv = (ImageView) view.findViewById(R.id.iv);
    32         iv.setImageResource(R.drawable.wojiemian);
    33     }
    34 }

    xml文件:

     1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     2     xmlns:tools="http://schemas.android.com/tools"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     tools:context="com.lixu.huadong.MainActivity" >
     6 
     7     <android.support.v4.view.ViewPager
     8         android:id="@+id/vp"
     9         android:layout_width="match_parent"
    10         android:layout_height="match_parent"
    11         />
    12 
    13 </RelativeLayout>
    1 <?xml version="1.0" encoding="utf-8"?>
    2 <ImageView xmlns:android="http://schemas.android.com/apk/res/android"
    3     android:id="@+id/iv"
    4     android:layout_width="match_parent"
    5     android:layout_height="match_parent" >
    6 
    7 </ImageView>
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     android:layout_width="match_parent"
     4     android:layout_height="match_parent"
     5     android:orientation="vertical" >
     6 
     7     <ListView
     8         android:id="@+id/lv"
     9         android:layout_width="match_parent"
    10         android:layout_height="match_parent" >
    11     </ListView>
    12 
    13 </LinearLayout>

    运行效果图:

  • 相关阅读:
    linux利用yum下载rpm离线包
    Struts Spring Plugin注意点
    Spring 对没有实现接口的类使用aspect的时候,可以使用CGLIB
    Spring HibernateTemplate
    Spring 声明式事务管理
    Spring 配置dataSource和sessionFactory
    Spring 配置中的 ${}
    Srping AOP xml方式
    Spring AOP 面向切面编程相关注解
    Spring 常用注入注解(annotation)和其对应xml标签
  • 原文地址:https://www.cnblogs.com/labixiaoxin/p/4981765.html
Copyright © 2020-2023  润新知