• Android高级控件(下)


    Chronometer计时器

    常用的方法

      getBase()   基准时间

      setFormat  设置显示格式

      start()  开始计时

      stop()  停止计时

      setOnChronometerListener  计时改变的监听事件

        <uses-permission android:name="android.permission.VIBRATE"></uses-permission>  获取震权限

    <!--xml代码-->
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Chronometer android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/cm" android:text="计时器" /> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/bt1" android:text="开始计时"></Button> <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/bt2" android:text="结束计时"></Button> </LinearLayout> </LinearLayout>  
    public class cm extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            Button btn1=(Button)findViewById(R.id.bt1);
            Button btn2=(Button)findViewById(R.id.bt2);
            final Chronometer cm=(Chronometer)findViewById(R.id.cm);
            final Vibrator vb=(Vibrator) getApplication()
            	.getSystemService(Service.VIBRATOR_SERVICE);//获得震动服务     
            btn1.setOnClickListener(new OnClickListener() {
    			
    			public void onClick(View v) {
    				cm.start();//开始计时
    				vb.vibrate(new long[]{1000,1000,1000,2000}, 0);//震动频率
    			}
    		});
            btn2.setOnClickListener(new OnClickListener() {
    			
    			public void onClick(View v) {
    				cm.stop();//结束计时
    				cm.setBase(SystemClock.elapsedRealtime());//复位
    				vb.cancel();//关闭震动
    			}
    		});
        }
    }
    

      

    TabHost布局

      TabActivity类常用方法

        getTabHost()  获取对象

      Layoutinflater类常用方法

        inflate(布局管理器ID,组件容器、组件参数,True)

        LayoutInflater from()  从指定容器之中获得LayoutInflater对象

      TabHost.TabSpec

        setindicator()  设置一个Tab

        setContent  设置要显示的组件ID

    public class TH extends TabActivity {
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub 
    		super.onCreate(savedInstanceState);
    		TabHost thHost=getTabHost();//创建Tabhost对象
    		LayoutInflater.from(this).inflate(R.layout.tb, thHost.getTabContentView()
    				,true);
    		
    		TabSpec s1=thHost.newTabSpec("tab1")//设置标签的ID
    		.setContent(R.id.TextView01)//设置标签的显示内容
    		.setIndicator("第一页");//设置标签的标题
    		thHost.addTab(s1);
    		
    		TabSpec s2=thHost.newTabSpec("tab2")
    		.setContent(R.id.TextView02)
    		.setIndicator("第二页");
    		thHost.addTab(s2);
    		
    		TabSpec s3=thHost.newTabSpec("tab3")
    		.setContent(R.id.TextView03)
    		.setIndicator("第三页");
    		thHost.addTab(s3);
    	}
    }
    

    菜单

      Menu   父类接口,用于创建主菜单

      SubtextMenu  继承Menu接口,用于创建子菜单

      ContextMenu  接口继承Menu接口,用户创建上下文菜单

      MenuItem  接口用户创建菜单项

      onCreateOptionsMenu(Menu menu);  在此方法中设置多个菜单项(返回true表示显示菜单,反之不显示)

      onOptionsItemSelected(MenuItem item);  判断菜单项的操作

      onOptionsMenuClosed(Menu menu);   当菜单关闭时触发

      onPrepareOptionsMenu(Menu menu)  在菜单显示前触发此操作(返回true继续调用oncreateOptionsMenu()方法,反之则不调用)

    public boolean onCreateOptionsMenu(Menu menu) {
    		menu.add(Menu.NONE, 0, 1, "保存");
    		menu.add(Menu.NONE, 1, 0, "删除");
    		SubMenu h=menu.addSubMenu(Menu.NONE, 2, 0, "帮助");
    		h.add("保存帮助");
    		h.add("删除帮助");
    		return super.onCreateOptionsMenu(menu);
    		
    	}
    

    Gallery控件

      Gallery  创建Gellery对象

      setSpacing  android:spacing  设置两个图片的显示间距

      setAdapter  设置图片集

      setGravity  android:gravity  设置图片的对其方式

      

    public class Galy extends Activity {
    	
    	
    	protected void onCreate(Bundle savedInstanceState) {
    		// TODO Auto-generated method stub
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.galy);
    		final ImageView iView=(ImageView)findViewById(R.id.ImageView01);
    		Gallery gallery=(Gallery)findViewById(R.id.Gallery01);
    		final int [] imgid={R.drawable.ps,R.drawable.ie,R.drawable.kg};
    		List<Map<String, Integer>> list=new ArrayList<Map<String,Integer>>();
    		for (int i = 0; i < imgid.length; i++) {
    			Map<String,Integer> map=new HashMap<String,Integer>();
    			map.put("img",imgid[i]);
    			list.add(map);
    		}
    		SimpleAdapter adapter=new SimpleAdapter
    		(this,list,R.layout.galy,new String[]{"img"},new int[]{R.id.ImageView01});
    		gallery.setAdapter(adapter);
    		gallery.setOnItemClickListener(new OnItemClickListener() {
    
    			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
    					long arg3) {
    				iView.setImageResource(imgid[arg2]);
    				
    			}
    		});
    	}
    }
    

      

  • 相关阅读:
    linux -- 部署java服务器(3) linux安装redis
    linux 安装php8
    linux mysql查看日志
    linux mysql常用的命令
    perl heredoc
    perl数值进制
    提问的智慧
    How to ask question the smart way
    PERL命令行
    图灵/异步图书
  • 原文地址:https://www.cnblogs.com/songjiabo/p/6905141.html
Copyright © 2020-2023  润新知