Android高级界面设计1

来源:互联网 发布:从化旅游数据 编辑:程序博客网 时间:2024/06/03 20:57

1.自动完成文本框
public class MainActivity extends Activity {private AutoCompleteTextView autoCompleteTextView=null;private Button button = null; private TextView t;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);final String[] COUNTRIES ={"acccc","abbb","adddd"};autoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);//获取自动完成文本框控件button = (Button)findViewById(R.id.button1);t=(TextView)findViewById(R.id.textView2);ArrayAdapter<String>adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,COUNTRIES);//创建ArrayAdapter 适配器autoCompleteTextView.setAdapter(adapter);  //为自动完成文本框添加适配器button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubt.setText(autoCompleteTextView.getText().toString());}});}}

 <AutoCompleteTextView            android:id="@+id/autoCompleteTextView1"            android:layout_width="250dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:completionHint="请输入您要搜索的内容"  //下拉菜单只是标题            android:completionThreshold="1"  //* 用于指定用户至少输入几个字符才会显示下拉菜单            android:text="" >            <requestFocus />        </AutoCompleteTextView>


2.进度条

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="500dp"    android:orientation="vertical" >    <LinearLayout        android:id="@+id/linearLayout1"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <TextView            android:id="@+id/text01"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/start" />        <ProgressBar            android:id="@+id/horizonPro"            style="@android:style/Widget.ProgressBar.Horizontal"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:max="200"            android:visibility="gone" />    </LinearLayout>    <LinearLayout        android:id="@+id/linearLayout2"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:orientation="horizontal" >        <ProgressBar            android:id="@+id/circlePro"            style="?android:attr/progressBarStyleLarge"            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:max="200"            android:visibility="gone" />    </LinearLayout>    <TextView        android:id="@+id/text02"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentLeft="true"        android:layout_below="@+id/linearLayout2"        android:layout_marginTop="28dp"        android:text="@string/start" />    <LinearLayout        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_marginRight="37dp"        android:layout_marginTop="224dp"        android:orientation="vertical" >        <Button            android:id="@+id/button"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/startBtn" />        <Button            android:id="@+id/restart"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="@string/restart"             android:visibility="gone"/>    </LinearLayout>    </RelativeLayout>


res/values/strings.xml中

<?xml version="1.0" encoding="utf-8"?><resources>    <string name="app_name">Test</string>    <string name="hello_world">Hello world!</string>    <string name="start">开始加载</string>    <string name="run">正在加载</string>    <string name="done">加载完成</string>    <string name="startBtn">开始</string>    <string name="addBtn">增加</string>    <string name="restart">重新开始</string></resources>


MainActivity.java 中

package com.example.test;import java.net.Inet4Address;import javax.security.auth.PrivateCredentialPermission;import org.apache.http.protocol.RequestTargetHost;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.Button;import android.widget.ProgressBar;import android.widget.TextView;public class MainActivity extends Activity {private ProgressBar horizonPro = null;private ProgressBar circlePro = null;private int status =0;private Button button;private Button restart;private TextView text01;private TextView text02;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);horizonPro =(ProgressBar)findViewById(R.id.horizonPro);circlePro =(ProgressBar)findViewById(R.id.circlePro);button=(Button)findViewById(R.id.button);restart = (Button)findViewById(R.id.restart);text01 = (TextView)findViewById(R.id.text01);text02 = (TextView)findViewById(R.id.text02);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif(status==0){button.setText(R.string.addBtn);//设置开始按钮上的文字horizonPro.setVisibility(View.VISIBLE);//设置水平进度条可见circlePro.setVisibility(View.VISIBLE);//text01.setText(R.string.run);text02.setText(R.string.run);//设置文本框控件显示内容horizonPro.setSecondaryProgress(status +10);}//为水平进度条的第二进度赋值else if(status<=200){horizonPro.setProgress(status);//为水平进度条的进度赋值horizonPro.setSecondaryProgress(status+10);//为水平进度条的第二进度赋值circlePro.setProgress(status);}else{horizonPro.setVisibility(View.GONE);//设置水平进度条不可见,并且不占用空间circlePro.setVisibility(View.GONE);text01.setText(R.string.done);//设置文本框控件显示内容text02.setText(R.string.done);button.setVisibility(View.GONE);//设置开始按钮不可见,并且不占用空间restart.setVisibility(View.VISIBLE);//设置重新开始按钮可见}status=status+10; //进度每次加10}});restart.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubstatus =0;button.setText(R.string.startBtn);button.setVisibility(View.VISIBLE);restart.setVisibility(View.GONE);text01.setText(R.string.start);text02.setText(R.string.start);horizonPro.setProgress(status);horizonPro.setSecondaryProgress(status+10);circlePro.setProgress(status);}});}}


3.拖动条

activity_main.xml中

<LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent"  //如此设置否则不会显示        android:layout_below="@+id/textView1"        android:orientation="vertical" >        <TextView            android:id="@+id/text01"            android:layout_width="wrap_content"            android:layout_height="wrap_content"             />        <SeekBar            android:id="@+id/seekBar"            android:layout_width="match_parent"            android:layout_height="wrap_content" />        <TextView            android:id="@+id/text02"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            />    </LinearLayout>

string.xml 中

<resources>    <string name="app_name">Test1</string>    <string name="hello_world">Hello world!</string>    <string name="start">开始滑动</string>    <string name="doing">正在滑动</string>    <string name="end">结束滑动</string></resources>


MainActivity.java 中

public class MainActivity extends Activity {private SeekBar seekBar = null;private TextView text01 = null;private TextView text02 = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);seekBar = (SeekBar)findViewById(R.id.seekBar);text01 = (TextView)findViewById(R.id.text01);text02 = (TextView)findViewById(R.id.text02);seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
//添加监听器public void onStopTrackingTouch(SeekBar arg0){ //停止滑动text01.setText(R.string.end);}public void onStartTrackingTouch(SeekBar arg0){ //开始滑动text02.setText(R.string.start);}public void onProgressChanged(SeekBar arg0,int arg1,boolean arg2){//位置改变text01.setText(R.string.doing);text02.setText("当前值为:"+arg1); //讲文本框的值修改为拖动条当前的位置}});}}


4.星级评分条

activity_main.xml 中

<LinearLayout        android:layout_width="match_parent"        android:layout_height="match_parent"        android:orientation="vertical" >        <RatingBar            android:id="@+id/ratingBar"            android:layout_width="wrap_content"            android:layout_height="wrap_content"             android:numStars="5" //设置星星的数量            />        <TextView            android:id="@+id/text"            android:layout_width="wrap_content"            android:layout_height="wrap_content"             />    </LinearLayout>


MainActivity.java 中

public class MainActivity extends Activity {private RatingBar ratingBar=null;private TextView text =null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ratingBar = (RatingBar)findViewById(R.id.ratingBar);text=(TextView)findViewById(R.id.text);ratingBar.setOnRatingBarChangeListener(new OnRatingBarChangeListener() {public void onRatingChanged(RatingBar arg0, float arg1, boolean arg2) {// TODO Auto-generated method stubtext.setText("你得到了"+arg1+"颗星星"); }});}}



原创粉丝点击