简单控件

作者: wxyass 分类: Android 发布时间: 2017-03-27 14:33

控件.

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

参考: 第一行代码

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

邮箱地址不会被公开。 必填项已用*标注