Android笔记五

Toast

提示用户。其不获取焦点,即显示Toast,用户还可以继续操作

方法:
**T**oast.makeText(context, text, duration);//返回Toast对象,context为上下文。一般为this。
toast.setDuration(duration); //设置持续时间 。系统提供的有:Toast.LENGTH_LONG
toast.setGravity(gravity, xOffset, yOffset); //设置toast位置 。xOffset,yOffset当前位置的偏移量
toast.setText(s);//设置提示内容
toast.show();//显示

带图片的Toast:

Toast toast = Toast.makeText(this, "img", Toast.LENGTH_LONG);
LinearLayout toast_layout = (LinearLayout)toast.getView();
ImageView iv = new ImageView(this); //这里的this怎么用的??
iv.setImageResource(R.drawable.img);
toast_layout.addView(iv,0);//0表示图片在文字上面
toast.show();

自定义Toast:

LayoutInflater inflater = LayoutInflater.from(this);
View toast_view = inflater.inflate(R.layout.toast_layout, null);//运用R.layout.toast_layout自定义
Toast toast = new Toast(this);
toast.setView(toast_view);
toast.show();

Dialog

对话框是在当前界面弹出的一个小窗口,用于显示重要提示信息,提示用户输入信息,确认信息,或者显示某种状态,如下载进度,退出提示等。一般情况下,用户要与对话框进行交互,然后返回到被遮盖的界面以继续运行当前的应用程序。

类别:

  1. 确认对话框
  2. 单选按钮对话框
  3. 多选按钮对话框
  4. 列表对话框

创建一个AlertDialog,要用到AlertDialog.Builder中的create()方法。

AlertDialog.Bulder builder = new AlertDialog.Bulder(this);

builder.setPositiveButton("确定",new DialogInterface.OnClickListener(){//加上DialogInterface是加以区分其他包里与OnClickListener相同名字的方法
    @Override


AlertDialog dialog = builder.create();//获取
dialog.show();

AlertDialog常用方法:
setTitle:为对话框设置标题
setIcon:为对话框设置图标
setMessage: 为对话框设置内容
setView:给对话框设置自定义样式
setItems:设置对话框要显示的一个list,一般用于显示几个命令
setMultiChoiceItems:用来设置对话框显示一系列复选框

String [] multi_list = {"A","B"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMultiChoiceItems(multi_list,null,new DialogInerface.OnMultiChoiceClickListener(){//null表示默认不选则任何一项
    @Override
    public void onClick(DialogInterface dialog, int which ,boolean isChecked){
        if(isChecked){  Toast.makeText(MainActivity.this,multi_list[which],Toast.LENTGH_LONG).show();
        }else{

        }
    }
})


AlertDialog dialog = builder.create();
dialog.show();//dialog.dismiss()表示隐藏对话框。可以用来设置取消按钮

setSingleChoiceItems:设置单选按钮

String [] single_list = {"A","B"};

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setSingleChoiceItems(single_list, 0 ,new DialogInterface.OnClickListener(){ //0表示默认选择第一个
    @Override
    public void OnClick(DialogInterface dialog,int which){
        //which表示选中那个。从0开始  
    }
}

AlertDialog dialog = builder.create();
dialog.show();

setNeutralButtono:普通按钮
setPositiveButton: 给对话框添加确认按钮
setNegativeButton:给对话框添加取消按钮

自定义对话框

builder.setView(view);

Notification通知栏

图标
标题
内容
时间
点击后响应

步骤:

  1. 获取NotificatinMananger
NotificationManager manager;//通知控制类
int notification_ID;//定义ID

manager = getSystemService(Context.NOTIFICATION_SERVICE);
Builder builder = new Notification.Builder(this);
builder.setSmallIcon(R.drawable.ic_launcher);//图标
builder.setTicker("Hello");//手机状态栏的提示
builder.setWhen(System.currentTimeMillis());//时间
builder.setContentTitle("");//标题
builder.setContentText("");//设置通知内容

Intent intent = new Intent(this,MainActivity.class);
PendingIntent pintent = PendingIntent.getActivity(this);
builder.setContentIntent(pintent);//点击后的意图

builder.setDefaults(Notification.DEFAULT_SOUND);//声音
builder.setDefaults(Notification.DEFAULT_LIGHTS);//指示灯
builder.setDefaults(Notification.DEFAULT_VIBRATE);//震动
builder.setDefaults(Notification.DEFAULT_ALL);//包括以上三种

Notificatin notification = builder.build();//4.1以上

  1. 显示通知栏notify(id, notification);
manager.notify(notification_ID, notification);
  1. 取消通知栏:cancel(id);
    manager.cancel(notification_ID);
  2. 构造Notification并 设置显示内容
  3. 通知栏通知可以设置声音提示,指示灯,以及震动效果

PS:为设置震动,指示灯添加权限:在AndroidManifest.xml文件下的Permissions栏目设置

OptionsMenu 选项菜单

创建选项菜单:onCreateOptionsMenu() – 可用代码动态设置menuadd();也可以通过xml设置MenuInflaterinafalte();

设置菜单项点击事件:

public boolean onOptionsItemSelected(MenuItem item){
    switch(item.getItemId()){


    }
}

ps:api>=11时,是不能为OptionsMenu设置图标的

ContextMenu上下文菜单

windows OS下对文件右键。Android下对文件长按

PS:

  1. OptionMenu对应的是activity,一个activity只能拥有一个选项菜单
  2. ContextMenu对应的是View,每个View都可设置上下文菜单。一般用于ListView或GridView

步骤:

  1. 给View注册上下文菜单registerForContextMenu()
this.registerForContextMenu(listview);
  1. 添加上下菜单内容onCreateCoontextMenu()
    用代码:
@Override
public void onCreateCoontextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
super.onCreateCoontextMenu(menu, v, menuInfo);
//
menu.setHeaderTitle("");
menu.setHeaderIcon();
menu.add();
}

用main.xml添加Item

MenuInflater infalter = getMunuInflater();
inflater.inflate(R.menu.main,menu);
  1. 设置菜单点击后相应事件onContextItemSelected()
@Override
public boolean onContextItemSelected(MenuItem item){
    swicth (item.getItemId()){

    }
    return super.onContextItemSelected(item);
}

为选项菜单添加子菜单:

SubMenu file = menu.addSubMenu("Name");

给子菜单添加菜单项:

file.add();

监听

@Override 
public boolean onOptionsItemSelected(MenuItem item){
    if(item.getGroupId()==1){
        switch(item.getItemId()){
        //区分好itemId和GroupId

        }

    }
}

使用XML添加subMenu子菜单
在menu.xml设置

<item
    android:showAsAction = "never"
    android:title="ah"/>

    <menu> //子菜单
        <item 
        android:id
        android:showAsAction
        android:title

        />



    </menu>


</item>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值