高级控件
Posted 天上蓝天
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高级控件相关的知识,希望对你有一定的参考价值。
计时器(秒表)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"
/>
以上是关于高级控件的主要内容,如果未能解决你的问题,请参考以下文章
如何在导航控件片段中关闭导航 DrawerLayout onBackPressed
jmeter的Include Controller控件和Test Fragment控件和Module Controller控件