5.16

activity:
package com.example.test10_gallery;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Gallery;
import android.widget.ImageView;

public class GalleryAdapter extends BaseAdapter {
    private Context mContext;
    //设置要展示的图片资源
    int[] images = {R.drawable.f1, R.drawable.f2, R.drawable.f3, R.drawable.f4};
    public GalleryAdapter(Context context) {
        this.mContext = context;
    }
    @Override
    public int getCount() {
        return images.length;
    }
    @Override
    public Object getItem(int i) {
        return i;
    }
    @Override
    public long getItemId(int i) {
        return i;
    }
    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        //在此最好判断一下view是否为空
        ImageView image = new ImageView(mContext);
        image.setImageResource(images[i]);
        image.setAdjustViewBounds(true);
        //设置宽高
        image.setLayoutParams(new Gallery.LayoutParams(
                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        return image;
    }
activity:
package com.example.test10_gallery;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Gallery;
import android.widget.Toast;
public class MainActivity extends Activity {
 GalleryAdapter galleryAdapter;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
  Gallery gallery = (Gallery) findViewById(R.id.gallery);
   galleryAdapter = new GalleryAdapter(MainActivity.this);
         gallery.setAdapter(galleryAdapter);
         //相应的点击事件
         gallery.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                 Toast.makeText(MainActivity.this, "您点击的是" + i, Toast.LENGTH_LONG).show();
             }
         });
 }
}
buju:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >
    <Gallery
        android:id="@+id/gallery"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerVertical="true"
        android:layout_centerHorizontal="true" />
</RelativeLayout>

抽屉:
activity:
package com.example.test11_slidingdraweractivity;
import android.app.Activity;
import android.content.res.Configuration;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.SlidingDrawer;
public class MainActivity extends Activity {
   
     private GridView gridView; 
     private SlidingDrawer slidingDrawer; 
     private ImageView imageView; 
     private int[] icons={ 
         R.drawable.widget01, R.drawable.widget02, 
         R.drawable.widget03, R.drawable.widget04, 
         R.drawable.widget05, R.drawable.widget06 
     }; 
      
     private String[] items={ 
         "Phone", "Message", "AddImage", "Music", "Telephone", "SMS"  
     }; 
      
  @SuppressWarnings("deprecation")
  @Override 
     public void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState); 
         setContentView(R.layout.activity_main); 
         gridView = (GridView)findViewById(R.id.mycontent); 
         slidingDrawer = (SlidingDrawer)findViewById(R.id.sliding_drawer); 
         imageView = (ImageView)findViewById(R.id.my_image); 
         MyGridViewAdapter adapter = new MyGridViewAdapter(this, items, icons); 
         gridView.setAdapter(adapter); 
         slidingDrawer.setOnDrawerOpenListener(new SlidingDrawer.OnDrawerOpenListener() { 
              
             public void onDrawerOpened() { 
                 imageView.setImageResource(R.drawable.right1); 
             } 
         }); 
         slidingDrawer.setOnDrawerCloseListener(new SlidingDrawer.OnDrawerCloseListener() { 
              
             public void onDrawerClosed() { 
                 imageView.setImageResource(R.drawable.left1); 
             } 
         }); 
     } 
  
     @Override 
     public void onConfigurationChanged(Configuration newConfig) { 
         super.onConfigurationChanged(newConfig); 
     } 
}
activity2:

package com.example.test11_slidingdraweractivity;
import android.annotation.SuppressLint;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

 public class MyGridViewAdapter extends BaseAdapter{ 
   
     private Context context; 
     private String[] items; 
     private int[] icons; 
      
     public MyGridViewAdapter(Context context, String[] items, int[] icons){ 
         this.context = context; 
         this.items = items; 
         this.icons = icons; 
     } 
      
     public int getCount() { 
         return items.length; 
     } 
  
     public Object getItem(int arg0) { 
         return items[arg0]; 
     } 
  
     public long getItemId(int position) { 
         return position; 
     } 
  
     @SuppressLint("ViewHolder")
  public View getView(int position, View convertView, ViewGroup parent) { 
         LayoutInflater layoutInflater = LayoutInflater.from(context); 
         View view = (View)layoutInflater .inflate(R.layout.activity_my_grid_view_adapter,null); 
         ImageView imageView = (ImageView)view.findViewById(R.id.image_view); 
         TextView textview = (TextView)view.findViewById(R.id.text_view); 
         imageView.setImageResource(icons[position]); 
         textview.setText(items[position]); 
         return view; 
     } 
  
 
 
}布局: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
            android:layout_marginTop="10dip"
        android:text="抽屉效果"
        android:textSize="15sp"
        android:gravity="center" 
    /> 
    <SlidingDrawer 
        android:id="@+id/sliding_drawer" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:handle="@+id/layout1" 
        android:content="@+id/mycontent" 
        android:orientation="horizontal" 
    > 
        <LinearLayout 
           android:id="@id/layout1" 
           android:layout_width="35px" 
           android:layout_height="fill_parent" 
           android:gravity="center" 
           android:background="#00000000" 
        > 
           <ImageView 
               android:id="@+id/my_image" 
               android:layout_width="wrap_content" 
               android:layout_height="wrap_content" 
               android:src="@drawable/left1" 
           /> 
        </LinearLayout> 
        <GridView 
            android:id="@id/mycontent" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:paddingTop="20dip" 
            android:numColumns="3" 
            android:gravity="center" 
            android:background="#ff000000" 
        /> 
    </SlidingDrawer> 
</RelativeLayo
第二个布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" 
    > 
    <ImageView 
        android:id="@+id/image_view" 
        android:layout_width="50dp" 
        android:layout_height="dip" 
        android:layout_marginBottom="5dip" 
    /> 
    <TextView 
        android:id="@+id/text_view" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_marginBottom="15dip" 
    /> 
</LinearLayout>

activity:

package com.example.test12_popupwindow;
import android.app.Activity;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.ImageView;
import android.widget.PopupWindow;
import android.widget.TextView;
public class MainActivity extends Activity {
private PopupWindow pw;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  
 }
 public void show(View v){
  View view=View.inflate(this,R.layout.popup_window,null);
  GridView gv=(GridView) view.findViewById(R.id.gv);
  gv.setAdapter(new MyAdapter());
  gv.setOnItemClickListener(new OnItemClickListener() {
   @Override
   public void onItemClick(AdapterView<?> parent, View view,
     int position, long id) {
    pw.dismiss();  
   }
   
  });
  pw=new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT,
                     ViewGroup.LayoutParams.WRAP_CONTENT);
  //如果需要点击其他地方泡泡自动消失有两个条件:
  //1.泡泡必须指定背景
  //2.泡泡必须获取焦点
  pw.setBackgroundDrawable(new BitmapDrawable());
  pw.setFocusable(true);
  //显示
//  pw.showAsDropDown(v);//指定在控件(按钮)的下方出现
  
  //显示在屏幕下方    parent  v是按钮, v.getParent()是布局
  //gravity  显示在布局中的什么位置
  //x  水平偏移
  //y  垂直偏移
  pw.showAtLocation((View) v.getParent(),//整个布局
    Gravity.BOTTOM,
    0,//水平偏移
    0);//垂直偏移
 }
 class MyAdapter extends BaseAdapter{
  private int[] Images =new int[]{
    R.drawable.i1,R.drawable.i2,R.drawable.i3,R.drawable.i4,R.drawable.i5,R.drawable.i6,R.drawable.i7,R.drawable.i8
  };
  private String[] names=new String[]{
    "搜索","文件管理","下载管理","全屏","网址","书签","加入书签","分享页面",
  };
  @Override
  public int getCount() {
   return Images.length;
  }
  @Override
  public Object getItem(int position) {
   return names[position];
  }
  @Override
  public long getItemId(int position) {
   return position;
  }
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
   if (convertView== null) {
    convertView=View.inflate(MainActivity.this, R.layout.item, null); 
   }
   ImageView iv_icon=(ImageView) convertView.findViewById(R.id.iv_icon);
   TextView tv_name=(TextView) convertView.findViewById(R.id.tv_name);
   iv_icon.setImageResource(Images[position]);
   tv_name.setText(names[position]);
   return convertView;
  }
  
 }
}
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="${relativePackage}.${activityClass}" >
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="显示"
        android:onClick="show" />

</RelativeLayout>
布局2:
<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/iv_icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/i1"
        />
    <TextView
        android:id="@+id/tv_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:text="搜索"
        android:textColor="@android:color/darker_gray"
        />
</LinearLayout>
布局3:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@drawable/bg" >
    <GridView
        android:id="@+id/gv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:numColumns="4"
        android:horizontalSpacing="10dp"
        android:verticalSpacing="10dp"
        >
       
    </GridView>
</LinearLayout>
activity:
package com.example.test09_expandable;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseExpandableListAdapter;
import android.widget.ExpandableListView;
import android.widget.TextView;
public class MainActivity extends Activity {
 private ExpandableListView expand_list;
 public String[] groupStrings = {"西游记", "水浒传", "三国演义", "红楼梦"};
    public String[][] childStrings = {
            {"唐三藏", "孙悟空", "猪八戒", "沙和尚"},
            {"宋江", "林冲", "李逵", "鲁智深"},
            {"曹操", "刘备", "孙权", "诸葛亮", "周瑜"},
            {"贾宝玉", "林黛玉", "薛宝钗", "王熙凤"}
    };

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  expand_list=(ExpandableListView) findViewById(R.id.expand_list);
  MyAdapter adapter = new MyAdapter();
  expand_list.setAdapter(adapter);
 }
  class MyAdapter extends BaseExpandableListAdapter{
   @Override
   public int getGroupCount() {
    
    return groupStrings.length;
   }
   
   @Override
   public int getChildrenCount(int groupPosition) {
    
    return childStrings[groupPosition].length;
   }
   
   
   //获取指定的分组数据
   @Override
   public Object getGroup(int groupPosition) {
    return groupStrings[groupPosition];
   }
   
   
   //获取指定分组中指定的子选项的数据
   //[groupPosition][childPosition]第一个取得是二维数组里的行,第二个是行里面的数据
   @Override
   public Object getChild(int groupPosition, int childPosition) {
    return childStrings[groupPosition][childPosition];
   }
   
   
   //获取指定分组的ID
   @Override
   public long getGroupId(int groupPosition) {
    return groupPosition;
   }
   
   //获取指定分组下的子选项的ID
   @Override
   public long getChildId(int groupPosition, int childPosition) {
    return childPosition;
   }
   
   //分组和子选项是否持有稳定的ID,也就是底层数据的改变会不会影响到它们俩
   @Override
   public boolean hasStableIds() {
    return true;
   }
   //获取指定分组的视图
   @Override
   public View getGroupView(int groupPosition, boolean isExpanded,
     View convertView, ViewGroup parent) {
    GroupViewHolder groupViewHolder = null;
    if (convertView==null) {
     convertView=View.inflate(MainActivity.this,
       R.layout.item_expand_group, null);
     groupViewHolder = new GroupViewHolder();
     groupViewHolder.tvTitle=(TextView) convertView.findViewById(R.id.label_expand_group);
     convertView.setTag(groupViewHolder);
    }else{
     groupViewHolder=(GroupViewHolder) convertView.getTag();
    }
    groupViewHolder.tvTitle.setText(groupStrings[groupPosition]);  
    return convertView;
   }
   
   //获取指定分组当中的指定子选项的视图
   @Override
   public View getChildView(int groupPosition, int childPosition,
     boolean isLastChild, View convertView, ViewGroup parent) {
    ChildViewHolder childViewHolder= null;
    if (convertView==null) {
     convertView=View.inflate(MainActivity.this,
       R.layout.item_expand_child, null);
     childViewHolder = new ChildViewHolder();
     childViewHolder.tvTitle=(TextView)convertView.findViewById(R.id.label_expand_child);
     convertView.setTag(childViewHolder);
    }else{
     childViewHolder=(ChildViewHolder) convertView.getTag();
    }
    childViewHolder.tvTitle.setText(childStrings[groupPosition][childPosition]);
    return convertView;
   }
   //指定位置的子元素是否可选中
   @Override
   public boolean isChildSelectable(int groupPosition,
     int childPosition) {
    
    return true;
   }
   class GroupViewHolder {
           TextView tvTitle;
       }
   class ChildViewHolder {
           TextView tvTitle;
   }
  
 }
}
布局:
<ExpandableListView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/expand_list"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
</ExpandableListView>
布局2:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/label_expand_child"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:background="@android:color/holo_blue_light"
    android:paddingLeft="20dp"
    android:gravity="center"
    android:textColor="@android:color/white"
    android:textSize="20sp" />
布局3
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/label_expand_group"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:background="@android:color/holo_blue_light"
  
    android:textColor="@android:color/white"
    android:textSize="20sp" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值