1. 程式人生 > >七個組件

七個組件

lis XP ati ddr class getitemid config CA dcl

技術分享圖片

package com.example.popup;

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) { // TODO Auto-generated method stub pw.dismiss(); } }); pw = new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); /** * 如果需要點擊其他的地方泡泡自動消失有倆個條件 * 1.泡泡必須直定背景 * 2.泡泡必須獲取焦點 */ pw.setBackgroundDrawable(new BitmapDrawable()); //顯示 //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() { // TODO Auto-generated method stub return images.length; }

@Override public Object getItem(int position) { // TODO Auto-generated method stub return images[position]; }

@Override public long getItemId(int position) { // TODO Auto-generated method stub return position; }

@Override public View getView(int position, View convertView, ViewGroup parent) { // TODO Auto-generated method stub 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; } } }

技術分享圖片

package com.example.text09;

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); //設置分組項的點擊監聽 expand_list.setOnGroupClickListener(new OnGroupClickListener() { @Override public boolean onGroupClick(ExpandableListView parent, View v, int groupPosition, long id) { Toast.makeText(getApplicationContext(), groupStrings[groupPosition], Toast.LENGTH_SHORT); return false; } }); //設置子監聽 expand_list.setOnChildClickListener(new OnChildClickListener() { @Override public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) { Toast.makeText(getApplicationContext(), childStrings[groupPosition][childPosition], Toast.LENGTH_SHORT); return false; } }); } class MyAdapter extends BaseExpandableListAdapter{ //獲取分組的個數

@Override public int getGroupCount() { // TODO Auto-generated method stub return groupStrings.length; } //獲取指定分組中的子選項的個數 @Override public int getChildrenCount(int groupPosition) { return childStrings[groupPosition].length; } //獲取指定的分組數據 @Override public Object getGroup(int groupPosition) { return groupStrings[groupPosition]; } //獲取指定分組中指定的子選項的數據 @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, 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 (childViewHolder==null) { convertView=View.inflate(MainActivity.this, R.layout.item_expand_group, 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; }

技術分享圖片

package com.example.text11_sindingdrawer;

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; }

public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater layoutInflater = LayoutInflater.from(context); View view = (View)layoutInflater .inflate(R.layout.grid, 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; }

}

package com.example.text11_sindingdrawer;

import android.app.Activity; import android.content.res.Configuration; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; 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" };

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); gridView = (GridView)findViewById(R.id.mycontent); slidingDrawer = (SlidingDrawer)findViewById(R.id.sd_main); 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); }

}

技術分享圖片

package com.example.text10_gallay;

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.f5,R.drawable.f6,R.drawable.f7};

public GalleryAdapter(MainActivity mainActivity) { this.mContext = mainActivity; }

@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; }

}

<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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.text10_gallay.MainActivity" >

<Gallery android:id="@+id/gallery" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerVertical="true" android:layout_centerHorizontal="true" />

</RelativeLayout>

package com.example.text10_gallay;

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(); } }); }

}

技術分享圖片

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一步"
android:background="@drawable/selector"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<AutoCompleteTextView
android:id="@+id/actv_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"/>

package com.example.text08_theme;

import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.Spinner;

public class MainActivity extends Activity { private Spinner spinner; private AutoCompleteTextView actv_name;

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner = (Spinner) findViewById(R.id.spinner); ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); adapter.add("java"); adapter.add("python"); adapter.add("c++"); spinner.setAdapter(adapter); actv_name=(AutoCompleteTextView) findViewById(R.id.actv_name); String[] names = {"小西","小東","王寧","王楠","李四","李麗"}; ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,names); actv_name.setAdapter(adapter2); } }

七個組件