Android的Activity跳转和ProgressBar进度条
来源:互联网 发布:临床医学数据库 编辑:程序博客网 时间:2024/05/22 00:19
#### Android四大组件:
Activity 交互:前台美女
Service 服务:苦逼程序员
ConrtentProvider 存储:财务 仓管
Brocast Intent Receiver 广播:跑腿的 小秘书 负责通讯
#### Activity跳转
1、需要定义目标界面
public class LoginActivity extends Activity {
// 窗口创建时触发
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置布局
setContentView(R.layout.login_layout);
}
}
2、目标界面要添加到manifest.xml中
<!-- 注册Activity -->
<activity android:name="com.xykj.android20170421.LoginActivity" >
</activity>
3、使用Intent跳转
//跳转到登录界面 Context
Intent it = new Intent(MainActivity.this,LoginActivity.class);
//启动跳转
startActivity(it);
#### 监听返回键
可以重写Activity中的onKeyUp方法(也可以用onKeyDown)
/**
* 监听键盘按键弹起
* keyCode表示按键值
* event表示键盘的事件对象
*
*/
@Override
public boolean onKeyUp(int keyCode, KeyEvent event) {
//监听返回键
if(keyCode == KeyEvent.KEYCODE_BACK){
finish(); //结束Activity的方法
return true;
}
return super.onKeyUp(keyCode, event);
}
#### 滚动视图
垂直方向的:ScrollView;水平方向:HorizontalScrollView,滚动视图只允许至多有一个孩子
mScrollView.scrollTo(x, y); 表示滚动到一个绝对位置
mScrollView.scrollBy(x, y); 滚动到一个相对位置
x从左到右为正,y从上到下为正
文本框添加滚动
tv.setMovementMethod(ScrollingMovementMethod.getInstance());
#### ProgressBar
进度条,默认效果是圆圈动画,一直转,如果要换成水平的,需要加水平样式
style="@android:style/Widget.ProgressBar.Horizontal"
水平进度条的属性
android:max="100" 最大进度,默认100
android:progress="30" 第一进度(实进度)
android:secondaryProgress="50" 第二进度(虚进度)
在java中:
int current = mProgressBar.getProgress();获取当前进度
mProgressBar.getMax() 获取总进度
mProgressBar.setProgress(current); 设置进度
mProgressBar.setSecondaryProgress(second); 设置第二进度
#### 子线程
Android子线程不允许直接操作UI,如果需要改变UI则需要将信息发送给主线程,让主线程去更新UI,所以子线程一般结合Handler一起使用
1、定义子线程,并处理内容,处理完毕时需要更新则发消息给主线程
new Thread() {
public void run() {
while (mProgressBar.getProgress() < mProgressBar.getMax()) {
int current = mProgressBar.getProgress();
current += 5;
// 更新显示效果,发消息给主线程
Message msg = new Message();
msg.what = 100; //号码
msg.obj = current; //内容
mHandler.sendMessage(msg);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}.start();
2、需要在主线程中定义接收消息的Handler
private Handler mHandler = new Handler() {
// 接收到消息的方法
@Override
public void handleMessage(Message msg) {
if(msg.what == 100){
int progress = (Integer) msg.obj;
//更新UI
mProgressBar.setProgress(progress);
}
}
};
- Android的Activity跳转和ProgressBar进度条
- Android ProgressBar(进度条)的使用方法
- Android ProgressBar进度条的使用
- Android ProgressBar进度条的使用
- Android ProgressBar进度条的创建
- Android progressbar 进度条的使用
- Android程序:进度条(ProgressBar)的使用方法和案例
- Android AsyncTask下载图片和ProgressBar进度条
- Android自定义进度条(ProgressBar)的问题
- Android---30---ProgressBar进度条的使用
- Android学习--ProgressBar进度条的使用
- android ProgressBar水平进度条的颜色设置
- Android中进度条ProgressBar的使用
- Android-ProgressBar进度条以及对话框的使用
- Android: 自定义progressBar 进度条的展示
- Android最好看的圆形进度条ProgressBar
- android自定义圆弧进度条,可拖拽的progressBar
- Android进度条ProgressBar颜色的渐变设置
- docker daemon调试
- java构造器详解(缺省,自定义,重载)
- JDBC 简介和基本使用
- Windows和Mac OS的伽马值
- 【剑指offer】题56:链表环的入口
- Android的Activity跳转和ProgressBar进度条
- 又一次遇到undefined reference to xxx
- MySQL mysqldump 常见备份参数说明
- android基本架构
- Android ContentProvider理解与实践
- cmd NTSD命令用法详解
- Android SSO 相关文章
- LCA的tarjan算法--总结
- Android 多线程下载实现思路