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); } }