wedgit的用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
wedgit的用法
一、checkBox(多项选择):
1.获取组件跟其他几个基本组件一样(button,textview等),同样是用
findViewById()从R里面获取该组件。
2.常用方法主要有二个方法:getT ext()和isChecked(),前者是获取文本,后者是判
断是否被选定。
3.XML标签:
<CheckBox android:id="@+id/plain_cb"
android:text="Plain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<CheckBox android:id="@+id/serif_cb"
android:text="Serif"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:typeface="serif"
/>
<CheckBox android:id="@+id/bold_cb"
android:text="Bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
/>
<CheckBox android:id ="@+id/italic_cb"
android:text="Italic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="italic"
/>
二、RadioGroup(单项选择)
1.获取组件的方法同上,findViewById()从R里面获取组件。
2.常用方法主要有clearCheck(),清除选项用。
3.XML标签:
<RadioGroup
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:checkedButton="@+id/lunch"
android:id="@+id/menu">
<RadioButton
android:text="breakfast"
android:id="@+id/breakfast"
/>
<RadioButton
android:text="lunch"
android:id="@id/lunch"/>
<RadioButton
android:text="dinner"
android:id="@+id/dinner"/>
<RadioButton
android:text="all"
android:id="@+id/all"/>
</RadioGroup>
三、Spinner(下拉列表)
1.获取组件的方法同上findViewById()从R里面获取组件。
2.常用方法setAdapter()设置适配器,用来绑定数据。
spinner_c = (Spinner) findViewById(R.id.spinner_1);
allcountries = new ArrayList<String>();
for (int i = 0; i < mCountries.length; i++) {
allcountries.add(mCountries[i]);
}
aspnCountries = new ArrayAdapter<String>(this,
yout.simple_spinner_item, allcountries);
aspnCountries
.setDropDownViewResource(yout.simple_spinner_dropdown_item);
spinner_c.setAdapter(aspnCountries);
3.XML标签:
<Spinner android:id="@+id/spinner_1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:drawSelectorOnTop="false"
/>
四、AutoCompleteTextView(自动完成文本)
1 获取组件方法同上。
2. 常用方法setAdapter(),这里的自动完成是需要绑定后台的数据的。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
yout.simple_dropdown_item_1line, COUNTRIES);
AutoCompleteTextView textView = (AutoCompleteTextView)
findViewById(R.id.auto_complete);
textView.setAdapter(adapter);
3. XML标签同一般的标签(textView,button)
五、DatePicker(日期选择器)
1. 获取组件方法同上。
2. 常用方法init(),初始化日期,即最开始要显示的日期。
DatePicker dp = (DatePicker)this.findViewById(R.id.date_picker); dp.init(2009, 5, 17, null);
4.XML标签同其他一般标签(button,textView)。
六、TimePicker(时间选择器)
1. 获取组件方法同上。
2. 常用方法setIs24HourView():是否显示24小时时间制。
3. XML标签同其他一般标签(button,textView)。
七、ScrollView(滚动视图)
1、这个组件比较直观,直接在XML文件的LinearLayout外面再增加ScrollView组件申明即可。
<ScrollView
xmlns:android="/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
</ScrollView>
八、ProgressBar(进度条)
1、这个组件也比较直观,直接在XML文件里申明即可。
<ProgressBar
android:id="@+id/progress_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<ProgressBar android:id="@+id/progress_horizontal"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="200dip"
android:layout_height="wrap_content"
android:max="100"
android:progress="50"
android:secondaryProgress="75"/>
九、SeekBar(拖动条)
1、这个组件有点类似进度条,直接在XML文件里申明即可。
<SeekBar
android:id="@+id/seek"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100"
android:thumb="@drawable/seeker"
android:progress="50"/>
十、RatingBar(评分组件)
1、又是一个直观的组件。
<RatingBar android:id="@+id/rating_bar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
ratingBarStyleSmall="true"/>
十一、ImageView(图片视图)
1、又是一个直观的组件。
<ImageView
android:id="@+id/imagebutton"
android:src="@drawable/eoe"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
十二、ImageButton(图片按钮)
1、直观组件。
<ImageButton id="@+id/imagebutton"
android:src="@drawable/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
十三、ImageSwitcher&Gallery(切换图片)
1、这两个组件的获取方法都是通过findViewById()
2、常用方法,这个组件的方法比较多仅难懂:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(yout.image_show);
setTitle("ImageShowActivity");
mSwitcher = (ImageSwitcher) findViewById(R.id.switcher);
mSwitcher.setFactory(this);
mSwitcher.setInAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_in));
mSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this, android.R.anim.fade_out));
Gallery g = (Gallery) findViewById(R.id.gallery);
g.setAdapter(new ImageAdapter(this));
g.setOnItemSelectedListener(this);
}
3、这个组件使用程中的两个难理解的方法getView()和makeView():
public View getView(int position, View convertView, ViewGroup parent) { ImageView i = new ImageView(mContext);
i.setImageResource(mThumbIds[position]);
i.setAdjustViewBounds(true);
i.setLayoutParams(new youtParams(
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
i.setBackgroundResource(R.drawable.picture_frame);
return i;
}
public View makeView() {
ImageView i = new ImageView(this);
i.setBackgroundColor(0xFF000000);
i.setScaleType(ImageView.ScaleType.FIT_CENTER);
i.setLayoutParams(new
youtParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT));
return i;
}
十四、GridView(网格视图)
1、获取组件:findViewById()
2、常用方法:setAdapter(),在这个例子里面也是用的内部类来绑定数据的,同
ImageSwitcher&Gallery。
在这里主要看看这个内部类的构成:
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public ImageAdapter(Context c) {
mContext = c;
}
public int getCount() {
return mThumbIds.length;
}
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView;
if(convertView == null) { // if it's not recycled, initialize some attributes
imageView = new ImageView(mContext);
imageView.setLayoutParams(new youtParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
// references to our images
private Integer[] mThumbIds = {
R.drawable.grid_view_01, R.drawable.grid_view_02,
R.drawable.grid_view_03, R.drawable.grid_view_04,
R.drawable.grid_view_05, R.drawable.grid_view_06,
R.drawable.grid_view_07, R.drawable.grid_view_08,
R.drawable.grid_view_09, R.drawable.grid_view_10,
R.drawable.grid_view_11, R.drawable.grid_view_12,
R.drawable.grid_view_13, R.drawable.grid_view_14,
R.drawable.grid_view_15, R.drawable.sample_1,
R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7
};
}
3、XML标签:
<GridView xmlns:android="/apk/res/android"
android:id="@+id/grid_view"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:columnWidth="90dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
十五、Tab(标签)
1、获取组件同其他组件不太一样,不能直接以findViewById()从R中获取。
TabHost tabHost = getTabHost();
LayoutInflater.from(this).inflate(yout.tab_demo,
tabHost.getTabContentView(), true);
tabHost.addTab(tabHost.newTabSpec("tab1").setIndicator("tab1") .setContent(R.id.view1));
tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("tab2") .setContent(R.id.view2));
tabHost.addTab(tabHost.newTabSpec("tab3").setIndicator("tab3") .setContent(R.id.view3));
2、这个组件好像不用在XML里进行申明,在XML里申明了TextView,并将其设置
成tab的content。
友好的菜单----menu介绍与实例
1、这个组件的用法感觉同T ab的用法还是有一些相似的,都是用add方法的。
2、获取组件的方法:这涉及到一个回调方法onCreateOptionsMenu(),当按下手
机上的Menu键的时候,会自动调用这个方法。
下面是代码:
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
menu.add(0, ITEM0, 0, "显示button1");
menu.add(0, ITEM1, 0, "显示button2");
menu.findItem(ITEM1);
return true;
}
3、这个组件同Tab一样,也不需要在XML文件里面申明。
用XML申明需要显示的View,
然后在相应的方法里面控制显示即可。
4、当点击menu的Item项的时候,会解发一个回调函数,相当于一个onClick事件:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case ITEM0:
actionClickMenuItem1();
break;
case ITEM1:
actionClickMenuItem2(); break;
}
return super.onOptionsItemSelected(item);}
Intent和Activity介绍与实例
1、什么是Intent?Intent是一次即将操作的抽象描述。
一共用到了三种Intent,现在
使用的这种Intent是第一种,它的作用就是启动一个新的Activity并且可以携带
数据,还有两种分别是:
1)通过Intent来启动一个服务(Service)
2)通过Intent来广播一个事件。
2、在这个例子里面主要要理解的是Intent的返回值:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listener1 = new OnClickListener() {
public void onClick(View v) {
Intent intent1 = new Intent(ActivityMain.this,
Activity1.class);
intent1.putExtra("activityMain", "数据来自activityMain");
startActivityForResult(intent1, REQUEST_CODE);
}
};
setContentView(yout.main);
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(listener1);
setTitle("ActivityMain");
}
@Override
protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_CANCELED)
setTitle("取消");
else if (resultCode == RESULT_OK) {
String temp=null;
Bundle extras = data.getExtras();
if (extras != null) {
temp = extras.getString("store");
}
setTitle(temp);
}
}
}
3、在来看看新的Activity里怎么获取原Activity里传递过来的数据及传递数据给原
Activity:
Bundle extras = getIntent().getExtras();
if (extras != null) {
data = extras.getString("activityMain");
}
Bundle bundle = new Bundle();
bundle.putString("store", "数据来自Activity1");
Intent mIntent = new Intent();
mIntent.putExtras(bundle);
setResult(RESULT_OK, mIntent);
finish();
ListView(列表)
1、组件的获取:这个组件也是不需要在XML文件里申明的,直接在Java文件里进行
实例化即可。
ListView listView = new ListView(this);
2、常用方法:listView.setAdapter(new ArrayAdapter<String>(this,
yout.simple_list_item_single_choice, data));
listView.setAdapter(new SimpleAdapter(this, data,
yout.simple_list_item_1, new String[] { "姓名" }, new int[] { android.R.id.text1 }));
总结一下,ListView组件的获取是通过在Java类文件里面实例化获得的,若要使它显示需要,就要绑定其相应的ListAdpater的适配器,这个适配器有两个直接的子类:ArrayAdapter和SimpleAdapter:
1)前者是联系数组和Listview的桥梁,后者是联系ArrayList和Listview的桥梁。
2)前者的构造函数里包含三个参数,后者的构造函数里包含五个参数。
共同的参数是上下文,布局文件,数据源。
后者比前者多的两个参数分别是From,to,这两个参数的作用是从Map里寻找对应的Object对应到view里面。
2、listView里的常用事件:
1)onItemClickListener,用法同button里的onClickListener,当用户单击了ListView当中的某一项后,系统会自动执行这个函数。
OnItemClickListener listener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
setTitle(parent.getItemAtPosition(position).toString());
}
};
listView.setOnItemClickListener(listener);
2)OnItemSelectedListener,用法同上,但不知道为什么Demo运行的时候出不来效果。
当用户选择了ListView里的一项后会自动调用这个函数。
OnItemSelectedListener itemSelectedListener = new
OnItemSelectedListener(){
// @Override
public void onItemSelected(AdapterView<?> parent, View arg1, int position, long arg3) {
setTitle("您选中的软件是:
"+parent.getItemAtPosition(position).toString());
}
// @Override
public void onNothingSelected(AdapterView<?> arg0) {
setTitle("");
}
};
3、listView里的一种特例:因为在很多情况下每一个Activity里边都是只有一个ListView,而且这个ListView都会占满一屏。
所以Android提供了一个类叫ListActivity,它即是一个Activity又有ListView的特征。
这种Activity对应的XML必须定义一个ListView,并且这个ListView的Id是“@id/Android:list”,这个名字是Android系统预设的,也就是说在ListActivity当中,Android系统能通过这个预设的id得到这个ListView。
另外一个需要定义但并非必需的是id为“@id/Android:empty”的textView,当ListView没有数据可显示时,这个T extView可以友好地展示出对用户的提示信息。
<?xml version="1.0"encoding="utf-8"?>
<LinearLayout
xmlns:android="/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<TextView android:id="@id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="对不起,没有数据显示"/>
</LinearLayout>
在ListActivity里边不用注册监听器,而是直接重写onListenerClick就可以对单击ListView的事件进行处理。
它是一个回调函数。
Dialog(对话框)
1、首先要明白一个概述,Dialog并非继承于View类,而是直接从ng.Object
构造出来的。
2、调用Dialog两个常用的方法:showDialog和dismissDialog。
其中调用前者的
时候会触发两个回调函数,onCreateDialog和onPrepareDialog。
如果这个
Dialog是第一次生成,系统将反向调用Dialog的回调函数,onCreateDialog,
然后调用onPrepareDialog;如果这个Dialog已经生成,只不过还没有显示出来,将会直接调用onPrepareDialog,这个方法使得有机会在显示前对Dialog做一些
修改,比如对Dialog的标题进行修改。
Button button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG1);
}
});
3、构造Dialog的具体过程:
private Dialog buildDialog2(Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_two_buttons_msg);
builder.setMessage(R.string.alert_dialog_two_buttons2_msg);
builder.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
setTitle("点击了对话框上的确定按钮");
}
});
builder.setNeutralButton(R.string.alert_dialog_something,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
setTitle("点击了对话框上的进入详细按钮");
}
});
builder.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
setTitle("点击了对话框上的取消按钮");
}
});
return builder.create();
}
4、在上面讲了Dialog可以设置一些属性,同时,可以将实现好的个性化的View放置到
Dialog里边去:
LayoutInflater inflater = LayoutInflater.from(this);
final View textEntryView = inflater.inflate(
yout.alert_dialog_text_entry, null);
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setIcon(R.drawable.alert_dialog_icon);
builder.setTitle(R.string.alert_dialog_text_entry);
builder.setView(textEntryView);
Toast和Notification应用(温馨的提醒)
一、Notification
1、认识NotificationManager
NotificationManager mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
3、构造Notification
Notification notification = new Notification(drawable, tickerText,
System.currentTimeMillis());
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, ActivityMain.class), 0);
notification.setLatestEventInfo(this, title, content, contentIntent);
mNotificationManager.notify(NOTIFICATIONS_ID, notification);
4、构造了一个Notification后,在它的构造函数里设置了它的图片,显示内容和时间后,
再通过setLatestEventInfo设置了它的标题,文本和动作。
还有一个比较重要的方法
可以设置相应的属性:setDefault(),它用来设置缺省的表现形式,即当这个
Notification显示出来的时候,手机会伴随音乐或振动或都有。
notification.defaults = defaults
notification.defaults = Notification.DEFAULT_VIBRATE
notification.defaults = Notification.DEFAULT_SOUND
notification.defaults = Notification.DEFAULT_ALL
二、Toast
1、Toast虽然也是提醒用户的一种方式,但是实现上和Notification是不一样,它不需要NotificationManager管理,Toast是作为Widget存在的:
View view = inflateView(yout.toast);
TextView tv = (TextView) view.findViewById(R.id.content);
tv.setText("加入专业Android开发社区,让你的应用开发能力迅速提高");
Toast toast = new Toast(this);
toast.setView(view);
toast.setDuration(type); toast.show();。