GridView、showDialog

GridView
    xml:
    <GridView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:numColumns="3"  列数
        android:horizontalSpacing="5dp" 单元格的水平间距
        android:verticalSpacing="5dp"  单元格的垂直间距
        android:stretchMode="columnWidth" > 拉伸方式
    </GridView>

在java中自己创建视图时需要通过要添加的目标容器的LayoutParams来配置布局参数(宽高、边距等等)

iv = new ImageView(GridViewActivity.this);
    iv.setScaleType(ScaleType.FIT_CENTER);
    // 添加宽高
    AbsListView.LayoutParams lp = new AbsListView.LayoutParams(
                        LayoutParams.MATCH_PARENT, 200);
    //运用布局参数
    iv.setLayoutParams(lp);
    iv.setBackgroundColor(0xff333333);
弹出框

使用Activity自带的showDialog方法来显示

    showDialog(100);  //参数为id
    这个方法调用之后Activity会去找有没有该id的Dialog,没有则触发onCreateDialog方法

    protected Dialog onCreateDialog(int id) {
        //创建dialog
        if(id ==100){
            return create2BtnDialog();
        }
        return super.onCreateDialog(id);
    }
填充创建Dialog的逻辑
    //弹出框的构造器
    AlertDialog.Builder b = new AlertDialog.Builder(this);
    //组装弹出框标题
    b.setTitle("两个按钮的弹出框");
    //组装弹出框内容
    b.setMessage(R.string.dialog_msg);
    //设置一个正向按钮
    b.setPositiveButton("确定", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(LearnDialogActivity.this, "确定按钮被点击", 2000).show();
            }
    });
    b.setNegativeButton("取消", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(LearnDialogActivity.this, "取消按钮被点击", 2000).show();
            }
        });
    //创建Dialog对象
    Dialog dialog = b.create();

自己来控制显示和隐藏,可以直接调用Dialog的show方法显示,dismiss方法或者cancel方法隐藏

if(null == twoBtnDialog){
    twoBtnDialog = create2BtnDialog();
}
//显示弹出框
twoBtnDialog.show();

隐藏
dialog.dismiss(); -->可以通过dialog.setOnDismissListener(listener)监听到
或者
dialog.cancel(); -->用dialog.setOnCancelListener(listener)监听

列表框,可以通过builder对象的setItems设置列表

final String[] items = {"打开","复制","剪切","重命名","删除","发送到"};
    b.setItems(items, new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                setTitle(items[which]);
                //处理列表点击的逻辑,which表示列表的下标
            }
        });

针对字符串数组,可以在资源下通过定义

     <string-array name="m_array">   
        <item>打开</item>     每个item表示一个数组项
        <item>复制</item>
    </string-array>

java中获取数组资源

String[] ary = getResources().getStringArray(R.array.m_array);
Toast
Toast t = Toast.makeText(this, "我是一个提示,你只能看看", Toast.LENGTH_SHORT);
    //设置显示位置(相对位置,x方向的偏移,y方向的偏移)
    t.setGravity(Gravity.LEFT|Gravity.TOP, 50, 200);
    t.show();

自定义Toast

View layout = getLayoutInflater().inflate(R.layout.toast_layout, null);
     TextView tv = (TextView) layout.findViewById(R.id.toast_content);
    tv.setText("ABC");
    Toast t = new Toast(getApplicationContext()); //Context上下文对象-->环境
    //应用环境(组件窗口 服务) 窗口环境(Activity)
    //设置布局
    t.setView(layout);
    t.setGravity(Gravity.CENTER, 0, 0);
    //设置事件
    t.setDuration(Toast.LENGTH_LONG);
    t.show();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值