Android——菜单和进度条

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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.example.chenshuai.test322.UiActivity2"

    android:orientation="vertical">

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="长按触发上下文菜单"
        android:id="@+id/bt_changan"/>

    <!--进度条 不可拖动 圈-->
    <ProgressBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/pb_1"
        />
    <!--进度条 水平线-->
    <ProgressBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="?android:attr/progressBarStyleHorizontal"
        android:id="@+id/pb_2"
        android:max="100"
        android:progress="50"
        android:secondaryProgress="70"
        />
    <!--进度条 可以拖动-->
    <SeekBar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:max="100"
        android:progress="50"
        android:id="@+id/sbr_1"
        />
    <!---->
    <RatingBar
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:numStars="6"
        android:rating="4.5"
        android:isIndicator="true"/>

</LinearLayout>

java

package com.example.chenshuai.test322;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.Button;
import android.widget.ProgressBar;
import android.widget.SeekBar;
import android.widget.Toast;

/**
 * Created by chenshuai on 2016/3/30.
 */
public class UIActivity2 extends AppCompatActivity {



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ui2);

        Button bt_changan = (Button)findViewById(R.id.bt_changan);
        bt_changan.setOnCreateContextMenuListener(this);


        //进度条
        //final 生命周期为整个类
        final ProgressBar pb_1 = (ProgressBar)findViewById(R.id.pb_1);
        final ProgressBar pb_2 = (ProgressBar)findViewById(R.id.pb_2);

        SeekBar sb_1 = (SeekBar)findViewById(R.id.sbr_1);

        sb_1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override
            public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {


                pb_2.setProgress(progress);
            }

            //开始拖动
            @Override
            public void onStartTrackingTouch(SeekBar seekBar) {

            }

            //结束拖动
            @Override
            public void onStopTrackingTouch(SeekBar seekBar) {

                pb_2.setProgress(seekBar.getProgress());
                if (seekBar.getProgress()==seekBar.getMax())
                {
                    //设置不可见  GONE不占位置  invisible 占位置
                    pb_1.setVisibility(View.GONE);

                }
                else
                {
                    //可见
                    pb_1.setVisibility(View.VISIBLE);
                }


            }
        });
    }

    //菜单  上下文菜单
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {

        menu.add(0,1,0,"添加");
        menu.add(0, 2, 1, "修改");
        menu.add(0,3,2,"删除");
        SubMenu m = menu.addSubMenu(0, 4, 3, "子菜单");
        m.add(0,4-1,0,"子菜单项一");
        m.add(0,4-2,1,"子菜单项二");
        m.add(0,4-3,2,"子菜单项三");
        m.add(0,4-4,3,"子菜单项四");


        super.onCreateContextMenu(menu, v, menuInfo);
    }


    @Override
    public boolean onContextItemSelected(MenuItem item) {

        switch (item.getItemId())
        {
            case 1:
                Toast.makeText(UIActivity2.this, "触发了添加功能", Toast.LENGTH_SHORT).show();
                break;
            case 2:
                Toast.makeText(UIActivity2.this, "触发了删除功能", Toast.LENGTH_SHORT).show();
                break;
            case 3:
                Toast.makeText(UIActivity2.this, "触发了修改功能", Toast.LENGTH_SHORT).show();
                break;

        }
        return super.onContextItemSelected(item);
    }

    @Override
    //重写  创建选项菜单的方法
    public boolean onCreateOptionsMenu(Menu menu) {

        //添加菜单项
        //第一种 纯编码方式
        /*menu.add(0, 1, 0, "添加");
        menu.add(0, 2, 2, "删除");
        menu.add(0, 3, 1, "修改");
*/
        //第二种  加载菜单文件方式

        //1.获取一个菜单加载器

        MenuInflater menuInflater = getMenuInflater();

        menuInflater.inflate(R.menu.mymenu,menu);


        return super.onCreateOptionsMenu(menu);
    }

    @Override
    public boolean onOptionsItemSelected (MenuItem item){

        //Toast.makeText(UiActivity2.this, "选中的菜单项是" + item.getTitle(), Toast.LENGTH_SHORT).show();

        //根据菜单项不同响应不同功能
        switch (item.getItemId()) {
            case 1:
                Toast.makeText(UIActivity2.this, "触发了添加功能", Toast.LENGTH_SHORT).show();
                break;
            case 2:
                Toast.makeText(UIActivity2.this, "触发了删除功能", Toast.LENGTH_SHORT).show();
                break;
            case 3:
                Toast.makeText(UIActivity2.this, "触发了修改功能", Toast.LENGTH_SHORT).show();
                break;
            case R.id.it1:
                Toast.makeText(UIActivity2.this, "触发了删除一功能", Toast.LENGTH_SHORT).show();
                break;
            case R.id.it2:
                Toast.makeText(UIActivity2.this, "触发了添加一功能", Toast.LENGTH_SHORT).show();
                break;
        }


        return super.onOptionsItemSelected(item);


    }
}

 

posted on 2016-03-30 23:55  Chen_s  阅读(315)  评论(0编辑  收藏  举报

导航