简单控件
控件.
EditText
<EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Type something here"
android:maxLines="2"
/>
使用 android:hint 属性来指定了一段提示性的文本,运行程序,然后当我们输入任何内容时,这段文本就会自动消失。
通过 android:maxLines 指定了 EditText 的最大行数为两行,这样当输入的内容超过
两行时,文本就会向上滚动,而 EditText 则不会再继续拉伸
另外: 如何在进入一个页面时,让EditText不自动获取焦点
解决之道:在EditText的父级控件中找一个,设置成
android:focusable="true"
android:focusableInTouchMode="true"
这样,就把EditText默认的行为截断了!
ImageView
ImageView imageView = (ImageView) findViewById(R.id.image_view);
imageView.setImageResource(R.drawable.jelly_bean);
我们可以在程序中通过代码动态地更改 ImageView 中的图片。 这里我准备了另外一张
图片,jelly_bean.png,将它复制到 res/drawable-hdpi 目录下,然后修改 MainActivity 的代码
ProgressBar
AlertDialog
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
public class MainActivity extends Activity implements View.OnClickListener {
private AlertDialog dialog;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
Button button3 = (Button) findViewById(R.id.button3);
button.setOnClickListener(this);
button2.setOnClickListener(this);
button3.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
// 普通弹窗
case R.id.button1:
showNotifyDialog();
break;
// 过渡界面
case R.id.button2:
showProgressDialog();
break;
// 过渡界面消失
case R.id.button3:
finishiDialog();
break;
default:
break;
}
}
// 普通弹窗
public void showNotifyDialog() {
// 通知对话框
Builder builder = new AlertDialog.Builder(this);
// 设置图标
builder.setIcon(android.R.drawable.ic_dialog_alert);
// 设置标题
builder.setTitle("提醒:");
// 设置提醒内容
builder.setMessage("当前是移动网络数据, 建议在wifi下观看, 是否继续(土豪随意)");
// 确认按钮
builder.setPositiveButton("确认", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "确认", 0).show();
}
});
// 取消按钮
builder.setNegativeButton("取消", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, "取消", 0).show();
}
});
// 是否可以通过返回键 关闭
builder.setCancelable(false);
// 直接show();
builder.show();
}
// 过渡界面
private void showProgressDialog() {
// 弹出进度框
dialog = new AlertDialog.Builder(this).setCancelable(false).create();
dialog.setView(getLayoutInflater().inflate(R.layout.login_progress, null), 0, 0, 0, 0);
dialog.setCancelable(true); // 是否可以通过返回键 关闭
dialog.show();
}
// 过渡界面消失
private void finishiDialog() {
if (dialog != null) {
dialog.dismiss();
}
}
}
布局文件
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.yahxdxj.demo.MainActivity" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_marginTop="25dp"
android:text="Button1" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button1"
android:layout_marginTop="25dp"
android:text="Button2" />
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/button2"
android:layout_marginTop="25dp"
android:text="Button3" />
</RelativeLayout>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:padding="20dp" >
<ProgressBar
android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:text="同步中..."
android:textColor="#000000"
android:textSize="20sp" />
</LinearLayout>
弹窗代码: http://ojupj7fr2.bkt.clouddn.com/tanchuang.rar