[索引页]
[×××]


系出名门Android(7) - 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab, Spinner, Chronometer, ScrollView

作者:webabcd


介绍
在 Android 中使用各种控件(View)
  • ZoomControls - 放大/缩小按钮控件
  • Include - 整合控件
  • VideoView - 视频播放控件
  • WebView - 浏览器控件
  • RatingBar - 评分控件
  • Tab - 选项卡控件
  • Spinner - 下拉框控件
  • Chronometer - 计时器控件
  • ScrollView - 滚动条控件


1、ZoomControls 的 Demo
zoomcontrols.xml <?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        
        <ZoomControlsandroid:id="@+id/zoomControls"
                android:layout_width="wrap_content"android:layout_height="wrap_content">ZoomControls>

LinearLayout> _ZoomControls.javapackage com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.widget.ZoomControls;

publicclass _ZoomControlsextends Activity {

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.zoomcontrols);

                setTitle("ZoomControls");

                ZoomControls zoomControls = (ZoomControls)this.findViewById(R.id.zoomControls);
                // setOnZoomInClickListener() - 响应单击放大按钮的事件
                zoomControls.setOnZoomInClickListener(new OnClickListener() {
                        publicvoid onClick(View v) {
                                Toast.makeText(_ZoomControls.this,"单击了放大按钮", Toast.LENGTH_SHORT).show();
                        }
                });
                
                // setOnZoomOutClickListener() - 响应单击缩小按钮的事件
                zoomControls.setOnZoomOutClickListener(new OnClickListener() {
                        publicvoid onClick(View v) {
                                Toast.makeText(_ZoomControls.this,"单击了缩小按钮", Toast.LENGTH_SHORT).show();        
                        }
                });

        }
}  2、Include 的 Demo
include.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        
        <includeandroid:id="@+id/cell1"layout="@layout/include_1"/>
        <includeandroid:id="@+id/cell2"android:layout_width="fill_parent"layout="@layout/include_2"/>

LinearLayout> include_1.xml<?xmlversion="1.0"encoding="utf-8"?>
<TextViewxmlns:android="http://schemas.android.com/apk/res/android"
        android:text="TextView01"android:layout_width="wrap_content"
        android:layout_height="wrap_content">
TextView> include_2.xml<?xmlversion="1.0"encoding="utf-8"?>
<TextViewxmlns:android="http://schemas.android.com/apk/res/android"
        android:text="TextView02"android:layout_width="wrap_content"
        android:layout_height="wrap_content">
TextView> _Include.javapackage com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;

publicclass _Includeextends Activity {

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.include);

                setTitle("Include");
        }
}  3、VideoView 的 Demo
videoview.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        
        <VideoViewandroid:id="@+id/videoView"android:layout_width="wrap_content"
                android:layout_height="wrap_content">
        VideoView>
                
LinearLayout> _VideoView.javapackage com.webabcd.view;

import android.app.Activity;
import android.net.Uri;
import android.os.Bundle;
import android.widget.MediaController;
import android.widget.VideoView;

publicclass _VideoViewextends Activity {

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.videoview);

                setTitle("VideoView");
                
                VideoView videoView = (VideoView) findViewById(R.id.videoView);
                
                // 指定需要播放的视频的地址
                videoView.setVideoURI(Uri.parse("android.resource://com.webabcd.view/" + R.raw.demo));
                // videoView.setVideoPath();
                    
                // 设置播放器的控制条
                videoView.setMediaController(new MediaController(this));
                // 开始播放视频
                videoView.start();
        }
}
  4、WebView 的 Demo
webview.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        
        <WebViewandroid:layout_width="fill_parent"
                android:layout_height="wrap_content"android:id="@+id/webView"/>
                
LinearLayout> _WebView.javapackage com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;

publicclass _WebViewextends Activity {

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.webview);

                setTitle("WebView");
                
                WebView webView = (WebView) findViewById(R.id.webView);

                // 配置浏览器,使其可支持 JavaScript
                WebSettings webSettings = webView.getSettings();
                webSettings.setJavaScriptEnabled(true);
                
                // 清除浏览器缓存
                webView.clearCache(true);
                // 指定浏览器需要解析的 url 地址
                webView.loadUrl("http://webabcd.cnblogs.com/");
                // 指定浏览器需要解析的 html 数据
                // webView.loadData("webabcd", "text/html", "utf-8");
        }
}
  5、RatingBar 的 Demo
ratingbar.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        
        <RatingBarandroid:id="@+id/ratingBar"android:numStars="5"
                android:rating="1.5"android:layout_width="wrap_content"
                android:layout_height="wrap_content">
        RatingBar>

        <TextViewandroid:id="@+id/textView"android:layout_width="wrap_content"
                android:layout_height="wrap_content"/>

LinearLayout> _RatingBar.javapackage com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.widget.RatingBar;
import android.widget.TextView;

publicclass _RatingBarextends Activityimplements RatingBar.OnRatingBarChangeListener {

        private RatingBar mRatingBar;
        private TextView mTextView;

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.ratingbar);

                setTitle("RatingBar");

                mTextView = (TextView) findViewById(R.id.textView);
                mRatingBar = (RatingBar) findViewById(R.id.ratingBar);

                // setOnRatingBarChangeListener() - 响应评分值发生改变的事件
                mRatingBar.setOnRatingBarChangeListener(this);
        }

        @Override
        publicvoid onRatingChanged(RatingBar ratingBar,float rating,
                        boolean fromUser) {
                mTextView.setText(String.valueOf(rating));
        }
}  6、Tab 的 Demo
tab.xml
<?xmlversion="1.0"encoding="utf-8"?>
<FrameLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"android:layout_height="fill_parent">

        
        <TextViewandroid:id="@+id/view1"android:layout_width="fill_parent"
                android:layout_height="fill_parent"android:text="tab1 content"/>
                
        
        <TextViewandroid:id="@+id/view2"android:layout_width="fill_parent"
                android:layout_height="fill_parent"android:text="tab2 content"/>

FrameLayout> _Tab.javapackage com.webabcd.view;

import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.TabHost;

// 实现 Tab 功能的话要继承 TabActivity
publicclass _Tabextends TabActivity {

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);

                TabHost tabHost = getTabHost();
                LayoutInflater.from(this).inflate(R.layout.tab, tabHost.getTabContentView(),true);

                // Tab 1 的内容
                tabHost.addTab(tabHost.newTabSpec("tab1")
                                .setIndicator("tab1")
                                .setContent(R.id.view1));
                
                // Tab 2 的内容(设置了 Tab 图片)
                tabHost.addTab(tabHost.newTabSpec("tab2")
                                .setIndicator("tab2", getResources().getDrawable(R.drawable.icon01))
                                .setContent(R.id.view2));
                
                // Tab 3 的内容(设置 Tab 的内容为指定的 Activity)
                tabHost.addTab(tabHost.newTabSpec("tab3")
                                .setIndicator("tab3")
                                .setContent(new Intent(this, _TextView.class)));

        }
}  7、Spinner 的 Demo
spinner.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        <TextViewandroid:layout_width="fill_parent"
                android:layout_height="wrap_content"android:id="@+id/textView"/>

                        
        <Spinnerandroid:id="@+id/spinner"android:layout_width="fill_parent"
                android:layout_height="wrap_content"/>

LinearLayout> _Spinner.javapackage com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.TextView;

publicclass _Spinnerextends Activity {

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.spinner);

                setTitle("Spinner");

                Spinner spinner = (Spinner) findViewById(R.id.spinner);
                
                // 设置下拉框控件的标题文本
                spinner.setPrompt("请选择");
                // 实例化适配器,指定显示格式及数据源
                ArrayAdapter adapter = ArrayAdapter.createFromResource(
                                this, R.array.colors, android.R.layout.simple_spinner_item);
                adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                spinner.setAdapter(adapter);

                // setOnItemSelectedListener() - 响应下拉框的选中值发生变化的事件
                spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
                        @Override
                        publicvoid onItemSelected(AdapterView<?> arg0, View arg1,
                                        int arg2,long arg3) {
                                TextView textView = (TextView)_Spinner.this.findViewById(R.id.textView);
                                textView.setText(((TextView)arg1).getText());
                        }

                        @Override
                        publicvoid onNothingSelected(AdapterView<?> arg0) {
                                                                
                        }
                });
        }
}  8、Chronometer 的 Demo
chronometer.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        
        <Chronometerandroid:id="@+id/chronometer"
                android:layout_width="wrap_content"android:layout_height="wrap_content"/>

        <Buttonandroid:id="@+id/btnStart"android:layout_width="wrap_content"
                android:layout_height="wrap_content"android:text="开始计时">
                <requestFocus/>
        Button>

        <Buttonandroid:id="@+id/btnStop"android:layout_width="wrap_content"
                android:layout_height="wrap_content"android:text="停止计时">
        Button>

        <Buttonandroid:id="@+id/btnReset"android:layout_width="wrap_content"
                android:layout_height="wrap_content"android:text="计时器复位">
        Button>

LinearLayout> _Chronometer.javapackage com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;

publicclass _Chronometerextends Activity {

        private Chronometer mChronometer;

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.chronometer);

                setTitle("Chronometer");

                Button button;

                mChronometer = (Chronometer) findViewById(R.id.chronometer);
                // 设置计时器所显示的时间格式
                mChronometer.setFormat("计时:(%s)");
                
                button = (Button) findViewById(R.id.btnStart);
                button.setOnClickListener(mStartListener);

                button = (Button) findViewById(R.id.btnStop);
                button.setOnClickListener(mStopListener);

                button = (Button) findViewById(R.id.btnReset);
                button.setOnClickListener(mResetListener);
        }

        View.OnClickListener mStartListener =new OnClickListener() {
                publicvoid onClick(View v) {
                        // 启动计时器
                        mChronometer.start();
                }
        };

        View.OnClickListener mStopListener =new OnClickListener() {
                publicvoid onClick(View v) {
                        // 暂停计时器
                        mChronometer.stop();
                }
        };

        View.OnClickListener mResetListener =new OnClickListener() {
                publicvoid onClick(View v) {
                        // 复位计时器,即停止计时器
                        mChronometer.setBase(SystemClock.elapsedRealtime());
                }
        };
}  9、ScrollView 的 Demo 
scrollview.xml
<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"android:layout_width="fill_parent"
        android:layout_height="fill_parent">

        
        <ScrollViewandroid:id="@+id/scrollView"
                android:layout_width="fill_parent"android:layout_height="200px"
                android:scrollbarStyle="outsideOverlay"android:background="@android:drawable/edit_text">
                <TextViewandroid:layout_width="fill_parent"
                        android:layout_height="wrap_content"android:id="@+id/textView"/>
        ScrollView>

LinearLayout> _ScrollView.javapackage com.webabcd.view;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

publicclass _ScrollViewextends Activity {

        @Override
        protectedvoid onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                this.setContentView(R.layout.scrollview);

                setTitle("ScrollView");

                TextView textView = (TextView)this.findViewById(R.id.textView);
                textView.setText("a\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na");
        }
}
  OK
[×××]

更多相关文章

  1. 2.3.2EditText控件
  2. Android 开关控件Switch使用
  3. android ListView控件 去上下滑动阴影 选中背景黄色
  4. Android 下控件位置大小调整
  5. 系出名门Android(6) - 控件(View)之DatePicker, TimePicker, Tog
  6. Android进度条控件ProgressBar使用
  7. android控件属性

随机推荐

  1. Android(安卓)NTLM Authentication
  2. Android(安卓)浏览图片层叠放大效果(Cover
  3. 替换或者删除Android(安卓)4.0的app
  4. Android购物车动态添加
  5. Android(安卓)RecyclerViewStickyHeaders
  6. Android自定义对话框(Dialog)位置,大小
  7. Android中Gallery来显示图片
  8. Learning about Android(安卓)Graphics S
  9. ionic build android时gradle错误
  10. Android(安卓)Hilt