Android课程---用进度条改变图片透明度
<?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"
android:orientation="vertical"
tools:context="com.hanqi.test5.UIActivity2">
<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:max="100"
android:progress="50"
android:secondaryProgress="70"
android:id="@+id/pb_2" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/vipflower"
android:id="@+id/iv_vip"/>
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:progress="100"
android:id="@+id/sb_1"/><!--可拖动--> </LinearLayout>
package com.hanqi.test5; import android.app.Activity;
import android.os.Bundle;
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.ImageView;
import android.widget.ProgressBar;
import android.widget.SeekBar;
import android.widget.Toast; public class UIActivity2 extends Activity { @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);/*this代表当前Activity,实现了这个接口*/ //进度条
//有final时,生命周期长,不加final的话就只是当前方法的,加final可以延长生命周期,或者定义成员变量
final ProgressBar pb_1 =(ProgressBar)findViewById(R.id.pb_1);
final ProgressBar pb_2 =(ProgressBar)findViewById(R.id.pb_2);
final SeekBar sb_1 =(SeekBar)findViewById(R.id.sb_1); sb_1.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
//onProgressChanged进度条变化,进度改变就会触发
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
//pb_2.setProgress(seekBar.getProgress());
ImageView iv_vip = (ImageView)findViewById(R.id.iv_vip);
//iv_vip.setAlpha(0.2f);透明度值是0-255
iv_vip.setImageAlpha(progress * 255 /100);
} //onStartTrackingTouch开始拖动
@Override
public void onStartTrackingTouch(SeekBar seekBar) { } //onStopTrackingTouch停止拖动
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
pb_2.setProgress(seekBar.getProgress()); if (seekBar.getProgress() == seekBar.getMax())
{
//设置不可见
pb_1.setVisibility(View.GONE);
/*INVISIBLE不可见(占空间) VISIBLE可见 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,41,0,"子菜单项1");
m.add(0,42,1,"子菜单项2");
m.add(0,43,2,"子菜单项3");
m.add(0,44,3,"子菜单项4");
// MenuInflater mi =getMenuInflater();
// mi.inflate(R.menu.mymenu,menu);
super.onCreateContextMenu(menu, v, menuInfo);
} @Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId())
{
case R.id.it_2:
Toast.makeText(UIActivity2.this, "触发了添加1功能", Toast.LENGTH_SHORT).show();
break;
case R.id.it_1:
Toast.makeText(UIActivity2.this, "触发了删除1功能", 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 mi =getMenuInflater();
mi.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.it_2:
Toast.makeText(UIActivity2.this, "触发了添加1功能", Toast.LENGTH_SHORT).show();
break;
case R.id.it_1:
Toast.makeText(UIActivity2.this, "触发了删除1功能", Toast.LENGTH_SHORT).show();
break;
} return super.onOptionsItemSelected(item);
}
}
效果图:


Android课程---用进度条改变图片透明度的更多相关文章
- Android实现拖动进度条改变图片透明度
layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...
- Android 进度条改变图片透明度
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- Android——进度条控制图片透明度
xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...
- Android中使用SeekBar拖动条实现改变图片透明度
场景 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改为Lin ...
- Android View 之进度条+拖动条+星级评论条....
PS:将来的你会感谢现在奋斗的自己.... 学习内容: 1.进度条 2.拖动条 3.星级评论条 1.进度条... 进图条这东西想必大家是很熟悉的...为了使用户不会觉得应用程序死掉了,因此 ...
- Android 自学之进度条ProgressBar
进度条(ProgressBar)也是UI界面中的一种非常使用的组件,通常用于向用户显示某个耗时完成的百分比.因此进度条可以动态的显示进度,因此避免长时间地执行某个耗时操作时,让用户感觉程序失去了响应, ...
- 【转】24. android dialog ——ProgressDialog 进度条对话框详解
原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog ...
- Android——菜单和进度条
xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...
- 【转】【Android】ProgressDialog进度条对话框的使用
Android ProgressDialog进度条对话框的使用: 转自:http://aina-hk55hk.iteye.com/blog/679134/ <?xml version=" ...
随机推荐
- text()、html() 以及 val()的区别
text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 下面的例子演示如何通过 text().htm ...
- (转)ACM next_permutation函数
转自 stven_king的博客 这是一个求一个排序的下一个排列的函数,可以遍历全排列,要包含头文件<algorithm>下面是以前的笔记 (1) int 类型的next_permuta ...
- log4j.xml 日志只输出指定类配置
1.日志增加appender 指定日志生成时间.格式.间隔时间. 2.category指定哪些或哪个类日志生成在文件中. 3.自定义logger避免不要将userBehavior定义到root中避免继 ...
- Oracle 创建表空间一边串过程
1.打开SQL Plus,根据提示输入用户名密码登录. 注意:如果是系统用户的话,只能用sysdba登录.例如:sys as sysdba,输入User的密码进行登录. 2.登录成功后,首先创建表空间 ...
- Thymeleaf 常用属性
Thymeleaf 常用属性 如需了解thymeleafThymeleaf 基本表达式,请参考<Thymeleaf 基本表达式>一文 th:action 定义后台控制器路径,类似<f ...
- xor方程组消元 UVA 11542 Square
题目传送门 题意:给n个数,选择一些数字乘积为平方数的选择方案数.训练指南题目. 分析:每一个数字分解质因数.比如4, 6, 10, 15,, , , , 令,表示选择第i个数字,那么,如果p是平方数 ...
- LightOJ1017 Brush (III)(DP)
题目大概说一个平面上分布n个灰尘,现在要用一个宽w的刷子清理灰尘:选择一个起点,往水平线上扫过去这个水平线上的灰尘就消失了.问最多进行k次这样的操作能清理最多多少灰尘. 没什么的DP. 先按垂直坐标给 ...
- unity 解析tmx 2
using UnityEngine; using System.Collections; using System.Collections.Generic; using System.IO; usin ...
- POJ2774 & 后缀数组模板题
题意: 求两个字符串的LCP SOL: 模板题.连一起搞一搞就好了...主要是记录一下做(sha)题(bi)过程心(cao)得(dan)体(xin)会(qing) 后缀数组概念...还算是简单的,过程 ...
- HDU3068最长回文 题解
题目大意: 求字符串的最长回文子串的长度. 思路: Manacher板题,Hash可能会T.要学习Manacher,可参考https://www.felix021.com/blog/read.php? ...