Android 笔记 5

目录

这几天写的一些布局,全都混在一起了,懒得整理

package com.example.linj.fragmentapplication.activity;

import android.app.AlertDialog;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.drawable.Drawable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Html;
import android.text.Spanned;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.PopupWindow;
import android.widget.RemoteViews;
import android.widget.TextView;
import android.widget.TimePicker;
import android.widget.Toast;

import com.example.linj.fragmentapplication.R;
import com.example.linj.fragmentapplication.fragment.AnotherRightFragment;

import java.text.SimpleDateFormat;
import java.util.Calendar;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private Button button;
    private Button mButtonToast;
    private Button mButtonMyToast;
    private Button mButtonDialog;
    private String[] mData = {"9", "1", "2", "3", "5", "6", "1", "2", "3", "5", "6"};
    private String[] mSex = {"男", "女"};
    private String sex = "";
    private boolean[] mIsChecked = new boolean[mData.length];
    private StringBuffer num;
    private Button mButtonMyDialog;
    private Dialog myDialog;
    private Button mButtonTime;
    private Calendar calendar;
    private Button mButtonHour;
    private Button mButtonPopupWindow;
    private PopupWindow popupWindow;
    private Button mButtonNotification;
    private Button mButtonCancel;
    private NotificationManager notificationManager;
    private Button mButtonRemote;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mButtonToast = (Button) findViewById(R.id.button_toast);
        mButtonToast.setOnClickListener(this);
        button = (Button) findViewById(R.id.button_left_fragment);
        button.setOnClickListener(this);
        mButtonMyToast = (Button) findViewById(R.id.button_my_toast);
        mButtonMyToast.setOnClickListener(this);
        mButtonDialog = (Button) findViewById(R.id.button_dialog);
        mButtonDialog.setOnClickListener(this);
        mButtonMyDialog = (Button) findViewById(R.id.button_my_dialog);
        mButtonMyDialog.setOnClickListener(this);
        mButtonTime = (Button) findViewById(R.id.button_time);
        mButtonTime.setOnClickListener(this);
        mButtonHour = (Button) findViewById(R.id.button_hour);
        mButtonHour.setOnClickListener(this);
        mButtonPopupWindow = (Button) findViewById(R.id.button_popup);
        mButtonPopupWindow.setOnClickListener(this);
        mButtonNotification = (Button) findViewById(R.id.button_notification);
        mButtonNotification.setOnClickListener(this);
        mButtonCancel = (Button) findViewById(R.id.button_notification_cancel);
        mButtonCancel.setOnClickListener(this);
        notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
        mButtonRemote = (Button) findViewById(R.id.button_notification_remote);
        mButtonRemote.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.button_notification_remote:
                RemoteViews views = new RemoteViews(getPackageName(),R.layout.remote_view_notification);
                Intent intent3 = new Intent(getApplicationContext(), MainActivity.class);
                PendingIntent pendingIntent3 = PendingIntent.getActivity(getApplicationContext(),1,intent3,PendingIntent.FLAG_ONE_SHOT);
                Notification notification3 = new Notification.Builder(MainActivity.this).setSmallIcon(R.mipmap.ic_launcher)
                        .setAutoCancel(true).setContentIntent(pendingIntent3).setContent(views).build();
                notificationManager.notify(2, notification3);
                break;
            case R.id.button_notification:
                Notification notification = new Notification();
                notification.icon = R.mipmap.ic_launcher;
                notification.tickerText = "你是一个通知,通知下一个活动";
//                notification.defaults = Notification.DEFAULT_ALL;//使用震动得添加权限。。。。。
                notification.flags = Notification.FLAG_AUTO_CANCEL;
                notification.when = System.currentTimeMillis();
                Intent intent = new Intent(getApplicationContext(), MainActivity.class);
                PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(),1,intent,PendingIntent.FLAG_ONE_SHOT);
                notification.setLatestEventInfo(getApplicationContext(),"通知标题", "通知内容",pendingIntent);
                notificationManager.notify(1, notification);
                break;
            case R.id.button_notification_cancel:
                Intent intent1 = new Intent(getApplicationContext(), MainActivity.class);
                PendingIntent pendingIntent1 = PendingIntent.getActivity(getApplicationContext(),1,intent1,PendingIntent.FLAG_ONE_SHOT);
                Notification notification1 = new Notification.Builder(MainActivity.this).setSmallIcon(R.mipmap.ic_launcher)
                        .setTicker("你是一个通知").setContentTitle("通知标题").setContentText("你的手机欠费了").setWhen(System.currentTimeMillis())
                        .setContentInfo("信息?").setAutoCancel(true).setContentIntent(pendingIntent1).build();
                notificationManager.notify(2, notification1);
                break;
            case R.id.button_popup:
                popupWindow = new PopupWindow(MainActivity.this);
                View popView = getLayoutInflater().inflate(R.layout.my_popup, null);
                popupWindow.setWidth(ViewGroup.LayoutParams.MATCH_PARENT);
                popupWindow.setHeight(ViewGroup.LayoutParams.WRAP_CONTENT);
                popupWindow.setContentView(popView);
                popupWindow.setOutsideTouchable(true);
                popupWindow.showAsDropDown(mButtonMyDialog);
                break;
            case R.id.button_hour:
                calendar = Calendar.getInstance();
                TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
//                        calendar.set(hourOfDay,minute);
                        calendar.set(Calendar.HOUR, hourOfDay);
                        calendar.set(Calendar.MINUTE, minute);
                        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日HH:mm");
                        Toast.makeText(getApplicationContext(), format.format(calendar.getTime()), Toast.LENGTH_SHORT).show();
                    }
                }, calendar.get(calendar.HOUR), calendar.get(calendar.MINUTE), true);
                timePickerDialog.show();
                break;
            case R.id.button_time:
                calendar = Calendar.getInstance();
                DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this, new DatePickerDialog.OnDateSetListener() {
                    @Override
                    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                        calendar.set(year, monthOfYear, dayOfMonth);
                        SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日");
                        Toast.makeText(getApplicationContext(), format.format(calendar.getTime()), Toast.LENGTH_SHORT).show();
                    }
                }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_YEAR));
                datePickerDialog.show();
                break;
            case R.id.button_my_dialog:
                myDialog = new Dialog(this, R.style.NoDialogTitle);
                LayoutInflater inflater = getLayoutInflater();
                View dialogView = inflater.inflate(R.layout.my_dialog_layout, null);
                TextView textViewTitle = (TextView) dialogView.findViewById(R.id.dialog_title);
                TextView textViewMessage = (TextView) dialogView.findViewById(R.id.dialog_message);
                Button buttonCancel = (Button) dialogView.findViewById(R.id.button_cancel);
                Button buttonOk = (Button) dialogView.findViewById(R.id.button_ok);
                textViewTitle.setText("new title");
                textViewMessage.setText("new content");
                buttonCancel.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        myDialog.dismiss();
                        Toast.makeText(getApplicationContext(), "cancel", Toast.LENGTH_SHORT).show();
                    }
                });
                buttonOk.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        myDialog.dismiss();
                        Toast.makeText(getApplicationContext(), "ok", Toast.LENGTH_SHORT).show();
                    }
                });
                myDialog.setCancelable(false);
//                myDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
                myDialog.setContentView(dialogView);
                myDialog.show();
                break;
            case R.id.button_dialog:
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setIcon(R.mipmap.ic_launcher).setTitle("选择").setCancelable(false);
//                builder.setMessage("被迫下线");
                builder.setMultiChoiceItems(mData, mIsChecked, new DialogInterface.OnMultiChoiceClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        mIsChecked[which] = isChecked;
                    }
                });
//                builder.setSingleChoiceItems(mSex, 2, new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialog, int which) {
//                        sex = mSex[which];
//                        Toast.makeText(getApplicationContext(), "性别"+sex, Toast.LENGTH_SHORT).show();
//                    }
//                });
//                builder.setItems(mData, new DialogInterface.OnClickListener() {
//                    @Override
//                    public void onClick(DialogInterface dialog, int which) {
//                        Toast.makeText(getApplicationContext(), "忽略第"+(which+1)+"个数据", Toast.LENGTH_SHORT).show();
//                    }
//                });
                builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        Toast.makeText(getApplicationContext(), "忽略", Toast.LENGTH_SHORT).show();
                    }
                }).setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        num = new StringBuffer();
                        for (int i = 0; i < mIsChecked.length; i++) {
                            if (mIsChecked[i]) {
                                num.append(mData[i]);
                            }
                        }
                        if (num.length() == 0) {
                        } else {
                            mButtonDialog.setText(num);
                        }
//                        if (sex.equals("")){
//                        } else {
//                            mButtonDialog.setText(sex);
//                            Toast.makeText(getApplicationContext(), "修改成功", Toast.LENGTH_SHORT).show();
//                        }
                    }
                });
//                AlertDialog dialog = builder.create();
//                dialog.show();
                builder.show();
                break;
            case R.id.button_my_toast:
                Toast toast1 = new Toast(getApplicationContext());
                LayoutInflater layoutInflater = getLayoutInflater();
                View view = layoutInflater.inflate(R.layout.my_toast_layout, null);
                TextView textView = (TextView) view.findViewById(R.id.text_view_toast);
                textView.setText("我是toast的标题");
                toast1.setView(view);
                toast1.setDuration(Toast.LENGTH_SHORT);
                toast1.show();
                break;
            case R.id.button_toast:
                Toast toast2 = Toast.makeText(getApplicationContext(), "abc", Toast.LENGTH_SHORT);
                Spanned spanned = Html.fromHtml("<img src=''/>我是一个<font color>Toast</font>", new Html.ImageGetter() {
                    @Override
                    public Drawable getDrawable(String source) {
                        Drawable drawable = getResources().getDrawable(R.mipmap.ic_launcher);
                        drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
                        return drawable;
                    }
                }, null);
                toast2.setText(spanned);
                toast2.setGravity(Gravity.LEFT | Gravity.CENTER_VERTICAL, 0, 0);
                toast2.show();
                break;
            case R.id.button_left_fragment:
                AnotherRightFragment fragment = new AnotherRightFragment();
                FragmentManager fragmentManager = getFragmentManager();
                FragmentTransaction transaction = fragmentManager.beginTransaction();
                transaction.replace(R.id.right_layout, fragment);
                transaction.addToBackStack(null);
                transaction.commit();
                break;
            default:
                break;
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            if (popupWindow != null && popupWindow.isShowing()) {
                popupWindow.dismiss();
                return true;
            }
        }
        return super.onKeyDown(keyCode, event);

    }
}

总结

以后养成好习惯,写注释, 分开写,整理规划好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值