学习步骤和重点
- UI布局
- 主要UI元素
- 主要按钮和事件
- 屏幕跳转
- 弹出框
一. Android UI布局
1.1 线性布局(LinearLayout)
此种布局一个重要参数为android:orientation="horizontal"(水平显示),共2中元素垂直显示为“vertical”。
参考代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
</LinearLayout>
1.2 相对布局(RelativeLayout)
此种布局非常的好用方便,你可以按照自己的需要,快速的定位你的UI元素到你想要的位置,重要参数
android:layout_below:“相对应按钮idA”,此句代码表示相对于按钮A的下方。其他上下左右可以自己实践。
参考代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="60dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/progressBar1"
android:layout_centerHorizontal="true"
android:layout_marginTop="52dp"
android:text="正在加载中..."
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
参考图片实例
1.3 列表视图(List View)
暂时忽略不讲,后面用到再总结。
二 主要UI元素
视图类android.view.View是widgets的基类,Android的UI元素大部分都包含在android.Widgets中。各个类的继承关系如下图
2.1 文本(TextView)
就是简单的文本显示,后台获取文本的内容代码:
TextView viewme=(TextView) findViewById(R.id.textView1);
viewme.setText(“test”);
2.2 按钮(Button)
按钮也是比较简单的,下节重点讲解事件
2.3 图片(ImageView)
ImageView的核心是图像的来源,方法有3种,代码如下:
img.setImageResource(resId)
img.setImageBitmap(bm)
img.setImageURI(uri)
2.4 进度条
主要参数,获取最大值getMax(),设置长度progressCire.setProgress(100);
2.5 下拉按钮(Spinner)
主要是设置内容来源:
Spinner spinnerDemo=(Spinner) findViewById(R.id.spinner1);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);
adapter.add("红色");
adapter.add("蓝色");
spinnerDemo.setAdapter(adapter);
也可以使用values文件夹下新建一个数组内容文件,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="colors">
<item>红色</item>
<item>橙色</item>
<item>黄色</item>
<item>绿色</item>
<item>蓝色</item>
<item>紫色</item>
</string-array>
</resources>
使用时,直接用R.array.colors
2.6 文本切换器(TextSwitcher)
暂时忽略,后续补充。
三 按钮事件
场景设置:点击按钮,文本框中出现hello word!
事件代码实现:
//新增一个按钮事件
Button button=(Button) findViewById(R.id.button1);
//设置监听
button.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v) {
TextView viewme=(TextView) findViewById(R.id.textView1);
viewme.setText(“hello word!”);
}
});
四 屏幕跳转
首先要准备2个页面Activity,这里有A和B2个页面(A是主页面),然后在AndroidManifest.xml中新增一个配置(A页面已经默认存在)。
<activity android:name=".B"></activity>
因为只能有一个主启动页面,所以B中不包含
<activity
android:name=".A"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
A中事件代码:
//跳转
Button buttonGo=(Button) findViewById(R.id.button2);
buttonGo.setOnClickListener(new Button.OnClickListener()
{
public void onClick(View v) {
Intent intent=new Intent();
intent.setClass(ReaBoxActivity.this, ImgShowActivity.class);
startActivity(intent);
finish();
}
});
}
五 弹出框
对话框的类为android.app.Dialog,通过android.app.AlertDialog.Builder类来建立。
还有一种简单的弹出框实现,代码如下:
import android.widget.Toast;
Toast.makeText(this,“hello”, Toast.LENGTH_SHORT).show();