高级控件(2)

计时器(秒表)Chronometer

<Chronometer
   android:id="@+id/miaobiao"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"/>

 1 mychrCh.setOnChronometerTickListener(new OnChronometerTickListener(){
 2     public void onChronometerTick(Chronometer chronometer) {
 3         String time = chronometer.getText().toString().replaceAll(
 4                 "[^(\\d{2}:\\d{2})]", "");
 5         }
 6     });
 7     mybutton1.setOnClickListener(new OnClickListener() {
 8         public void onClick(View v) {
 9             mychrCh.start();//开始计时
10         }
11     });
12     mybutton2.setOnClickListener(new OnClickListener() {
13         public void onClick(View v) {
14             mychrCh.stop();//停止计时
15             tv.append(mychrCh.getText().toString()+"\n");//追加到显示框记录时间
16             mychrCh.setBase(SystemClock.elapsedRealtime());
17         }
18     });
19 vibrator = (Vibrator)getApplication().getSystemService(Service.VIBRATOR_SERVICE);
20 //添加震动权限
21 vibrator.vibrate(new long[]{1000,10,1000,100},0);//
22 vibrator.cancel();//关闭震动

计时器

标签页

<第一种布局(java文件)>

<java文件>

 1 TabHost tabHost = getTabHost();
 2     LayoutInflater.from(this).inflate(R.layout.biaoq,tabHost.getTabContentView(),true);
 3         TabSpec ts1 = tabHost.newTabSpec("tab1")
 4             .setIndicator("选项一")
 5             .setContent(R.id.ttv01);
 6         tabHost.addTab(ts1);
 7         TabSpec ts2 = tabHost.newTabSpec("tab2")
 8             .setIndicator("选项二")
 9             .setContent(R.id.ttv02);
10         tabHost.addTab(ts2);
11         TabSpec ts3 = tabHost.newTabSpec("tab3")
12             .setIndicator("选项三")
13             .setContent(R.id.ttv03);
14         tabHost.addTab(ts3);

标签页

<xml>

 1 <LinearLayout
 2   xmlns:android="http://schemas.android.com/apk/res/android"
 3   android:layout_width="wrap_content"
 4   android:layout_height="wrap_content">
 5   <TextView
 6       android:id="@+id/ttv01"
 7       android:text="选项一内容:"
 8     android:layout_width="wrap_content"
 9     android:layout_height="wrap_content">
10   </TextView>
11   <TextView
12       android:id="@+id/ttv02"
13       android:text="选项二内容:"
14     android:layout_width="wrap_content"
15     android:layout_height="wrap_content">
16   </TextView>
17   <TextView
18       android:id="@+id/ttv03"
19       android:text="选项三内容:"
20     android:layout_width="wrap_content"
21     android:layout_height="wrap_content">
22   </TextView>
23 </LinearLayout>

标签

<第二种Java文件只要把ID修改>

LayoutInflater.from(this).inflate(R.layout.biaoqtab,tabHost.getTabContentView(),true);
.setContent(R.id.Line1);
<xml文件>

 1 <TabHost
 2   xmlns:android="http://schemas.android.com/apk/res/android"
 3   android:orientation ="vertical"
 4   android:layout_width="fill_parent"
 5   android:layout_height="fill_parent">
 6   <LinearLayout
 7    android:orientation="vertical"
 8    android:id="@+id/Line1"
 9    android:layout_width="wrap_content"
10    android:layout_height="wrap_content"
11   >
12   <TextView
13    android:layout_width="wrap_content"
14    android:text="是的发送到发送:"
15    android:layout_height="wrap_content"/>
16    <TextView
17    android:layout_width="wrap_content"
18    android:text="是的发送到发送到发送到:"
19    android:layout_height="wrap_content"/>
20   </LinearLayout>
21   <LinearLayout
22    android:orientation="vertical"
23    android:id="@+id/Line3"
24    android:layout_width="wrap_content"
25    android:layout_height="wrap_content">
26    <TextView
27    android:layout_width="wrap_content"
28    android:text="sdsdfsdfs:"
29    android:layout_height="wrap_content"/>
30   </LinearLayout>
31 </TabHost>

注意:必须在TabHost中写

菜单

重写Activity中OnCreateOptionsMenu
public boolean onCreateOptionsMenu(Menu menu) {
//分组,菜单选项id,菜单编号,菜单标题
 menu.add(Menu.NONE,0,0,"保存");
 menu.add(Menu.NONE,1,0,"删除");
//子菜单
 SubMenu help = menu.addSubMenu("帮助");
 help.add("保存介绍");
 help.add("出错方案");
 return super.onCreateOptionsMenu(menu);
 }
上下级菜单
TextView tv = (TextView)findViewById(R.id.tvv);
  registerForContextMenu(tv);
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
 ContextMenuInfo menuInfo) {
  menu.add("保存");
  menu.add("删除");
  menu.add("退出");
  super.onCreateContextMenu(menu, v, menuInfo);
}
(第二种方法在onCreateContextMenu修改)
MenuInflater fInflater = getMenuInflater();
  fInflater.inflate(R.menu.main, menu);
  menu.setHeaderIcon(R.drawable.icon);
  menu.setHeaderTitle("帮助");
Gallery
int [] imgs = {R.drawable.icon,R.drawable.wo,R.drawable.icon,R.drawable.wo};
Gallery gallery= (Gallery)findViewById(R.id.gallery);
List<Map<String,Integer>> data = new ArrayList<Map<String,Integer>>();
for(int i=0;i<imgs.length;i++){
 int img = imgs[i];
 Map<String,Integer> map = new HashMap<String, Integer>();
 map.put("img",img);
 data.add(map);
 }
SimpleAdapter dAdapter = new SimpleAdapter(this,data,R.layout.xiala1
 ,new String[]{"img"}
 ,new int[]{R.id.IMAGE});
gallery.setAdapter(dAdapter);
页面
 <ImageView
   android:src="@drawable/wo"
   android:layout_width="fill_parent"
 android:layout_height="wrap_content"
  />
  <Gallery
   android:id="@+id/gallery"
   android:layout_width="fill_parent"
 android:layout_height="fill_parent"
  />
模板
<ImageView
   android:id="@+id/IMAGE"
   android:layout_width="fill_parent"
 android:layout_height="wrap_content"
  />

时间: 2024-10-09 05:24:11

高级控件(2)的相关文章

Android高级控件(五)——如何打造一个企业级应用对话列表,以QQ,微信为例

Android高级控件(五)--如何打造一个企业级应用对话列表,以QQ,微信为例 看标题这么高大上,实际上,还是运用我么拿到listview去扩展,我们讲什么呢,就是研究一下QQ,微信的这种对话列表,我们先看一个传统的ListView是怎么样的,我们做一个通讯录吧,通讯录的组成就是一个头像,一个名字,一个电话号码,一个点击拨打的按钮,既然这样,那我们的item就出来了 call_list_item.xml <?xml version="1.0" encoding="ut

Windows应用程序高级控件之ListView控件

ListView控件---列表视图控件 用途:显示带图标的项列表,其中可以显示大图标.小图标和数据 ListView控件的常用属性: View属性:设置项在控件中的显示方式,View属性的值有以下几种 Details       每个项显示在不同的行上 LargeIcon     每个项都显示为一个最大的图标,下面有标签,是默认的视图模式 List          每个项显示为一个小图标,右边带标签,各项排列在列中,没有列表头 SmallIcon     每个项显示为小图标,右边带标签 Tit

Windows应用程序高级控件之TreeView

TreeView控件--树控件 为用户显示节点层次结构,每个节点又可以包含子节点. 添加和删除树节点 添加--TreeView的Nodes属性的Add方法:public virtual int Add(TreeNode node) 删除--TreeView的Nodes属性的Remove方法:public void Remove(TreeNode node) 添加-实例代码: private void Form1_Load(object sender, EventArgs e) { //为树控件建

OLE--SWT高级控件

OLE和ActiveX控件的支持    OLE(Object Link Embeded)是指在程序之间链接和嵌入对象数据.通过OLE技术可以在一个应用程序中执行其他的应用程序.    而ActiveX控件是OLE的延伸,一般用于网络.    SWT中涉及OLE和ActiveX的类都在org.eclipse.swt.ole.win32包中,使用最常见的是OleFrame类.OleClientSite类和OleControlSite类. 1. OLE控件的面板类(OleFrame)    该类继承自

Android高级控件——ViewPager、GridView、popwindow、SlideMenu(中)

Android高级控件--ViewPager.GridView.popwindow.SlideMenu(中) android:screenOrientation="locked"锁屏 android:screenOrientation="landscape"横屏锁定   <!--android:theme="@android:style/Theme.NoTitleBar.Fullscreen"  Activity 直接extends Act

Android高级控件(一)——ListView绑定CheckBox实现全选,添加和删除等功能

Android高级控件(一)--ListView绑定CheckBox实现全选,添加和删除等功能 这个控件还是挺复杂的.也是项目中应该算是比較经常使用的了,所以写了一个小Demo来讲讲,主要是自己定义adapter的使用方法.加了非常多的推断等等等等-.我们先来看看实现的效果吧! 好的,我们新建一个项目LvCheckBox 我们事先先把这两个布局写好吧,一个是主布局,另一个listview的item.xml.相信不用多说 activity_main.xml <LinearLayout xmlns:

Android高级控件——GridView ScrollView ViewPager (上)

Android高级控件--GridView ScrollView ViewPager (上) GridView 网格视图,网格视图组件,九宫图显示数据表格(一种控件) ScrollView滚动视图 是一个单一容器,只能包含一个组件. ViewPager左右滑动 SlideMenu侧边栏 PullToRefreshListView下拉刷新 ListView新闻 原声列表视图 <?xml version="1.0" encoding="utf-8"?> &l

Android 高级控件(六)——RecyclerView的方方面面,让你知道他的魅力!

Android 高级控件(六)--RecyclerView的方方面面,让你知道他的魅力! RecyclerView出来很长时间了,相信大家都已经比较了解了,这里我把知识梳理一下,其实你把他看成一个升级版的ListView也是可以的,为什么这样说呢?我们一起来学习一下! 一.RecyclerView的基本使用 使用RecyclerView的话,大家都知道,他是V7里面的控件,所以我们需要添加源,但是大家的Gradle版本都是不一样的,这里介绍一下一种比较方便的添加方法,我们右键我们的项目 选择op

Windows应用程序高级控件之日期控件-DateTimePicker

DateTimePicker--日期控件 用途:用于选择日期和时间,但只能选择一个时间,而不是连续的时间段.当然也可以直接输入日期和时间 DateTimePicker的Format属性设置为Time,即可时间控件中只显示时间. Format属性用于获取或设置控件中显示的日期和时间格式 DateTimePickerFormat枚举值如下: Custom      DateTimePicker控件以自定义格式显示日期/时间值 Long        DateTimePicker控件以用户操作系统设置

Windows应用程序高级控件(一)

1.ErrorProvider控件 (1)用途:在不影响用户操作的情况下向用户显示有错误发生,一般在验证用户输入的数据是常用到该控件,这里就好像web应用中的CompareValidator等验证控件差不多. (2)一般通过ErrorProvider控件的SetError方法设置指定控件的错误. public void SetError(Control control,string value) 参数control表示要为其设置错误描述字符串的控件 参数value表示描述错误信息的字符串 (3)