android-Bar系列
来源:互联网 发布:2016年十大网络神曲 编辑:程序博客网 时间:2024/06/06 06:29
SeekBar
继承ProgressBar,提供用户改变进度的拖块
xml: <SeekBar android:id="@+id/m_seek" android:layout_width="300dp" android:layout_height="wrap_content" android:max="100" android:progress="30" android:secondaryProgress="50"/>
java:
private OnSeekBarChangeListener mSeekListener = new OnSeekBarChangeListener() { //用户停止拖动是触发(手指离开了拖块瞬间) @Override public void onStopTrackingTouch(SeekBar seekBar) { Log.e("m_tag", "onStopTrackingTouch:"+seekBar.getProgress()); } //用户开始拖动(手指触摸到拖块的瞬间) @Override public void onStartTrackingTouch(SeekBar seekBar) { Log.e("m_tag", "onStartTrackingTouch:"+seekBar.getProgress()); } //进度发生变化时触发 @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Log.e("m_tag", "onProgressChanged:"+progress+" isFromUser:"+fromUser); } };
设置监听
SeekBar seek = (SeekBar) findViewById(R.id.m_seek); seek.setOnSeekBarChangeListener(mSeekListener);
进度系列控件自定义
进度的自定义
1、在res的drawable下定义layer-list文件,如:progress_drawable.xml <layer-list xmlns:android="http://schemas.android.com/apk/res/android" > <!-- 背景层 --> <item android:id="@android:id/background" android:drawable="@drawable/bg"/> <!-- 第二进度层 --> <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/sec_pro"/> <!-- 第一进度层 --> <item android:id="@android:id/progress" android:drawable="@drawable/pro"/> </layer-list>
2、设置进度资源
android:progressDrawable="@drawable/progress_drawable"对于拖动条可以定义selector文件来改变拖块的效果,如定义了thumb_drawable.xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/nomal" android:state_pressed="false"/> <item android:drawable="@drawable/press" android:state_pressed="true"/> </selector> 替换原有的拖块的效果(SeekBar的属性) android:thumb="@drawable/thumb_drawable"
RatingBar
<RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" 星星数量 android:rating="1.5"/> 默认的分值 可以通过android:isIndicator="true"设置为指示器(用户无法改变值) java: RatingBar r = (RatingBar) findViewById(R.id.rating); r.setRating(2.5f); 设置分值 //r.getRating()获取分值 r.setOnRatingBarChangeListener(new OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float rating, boolean fromUser) { Log.e("m_tag", "rating:"+rating); } });
ImageView
<ImageView android:layout_width="300dp" android:layout_height="280dp" android:background="#ff333333" android:src="@drawable/pic2" android:scaleType="centerCrop" />
如果宽高固定,然后图片和ImageView的宽高不成等比,则需要android:scaleType来处理拉伸效果
fitXY表示铺满(按图片四个角拉伸图片)fitStart从左上角开始等比例拉伸或者缩放去填充ImageViewfitEnd从右下角开始fitCenter放在中间等比例填充ImageViewcenterCrop按ImageView等比例取图片的中间部分填充ImageViewcenterInside按图片原始大小显示在ImageView中间
java中操作ImageView
iv = (ImageView) findViewById(R.id.image); //设置res下的图片 iv.setImageResource(R.drawable.pic1); 也可以通过以下方式设置一个sdcard中的图片: //URI表示一个数据的源(地址)文件地址 网址 经纬度 File f = new File("/mnt/sdcard/yux.jpg"); Uri uri = Uri.fromFile(f); //文件转为Uri iv.setImageURI(uri);
注意,程序读取本地文件需要有读sdcard权限
添加方式为:在manifest中的<application>标签外添加如下语句:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
0 0
- android-Bar系列
- Android系列之得到各种bar
- [Android系列—] 4. 添加操作栏(Action Bar)
- Android起航系列第二章:为app添加action bar
- 【android】隐藏title bar和system navigation bar,status bar
- android status bar 之 status bar notifications
- android 去除title bar 标题栏 action bar
- Android navigation bar and the status bar
- Android Status Bar
- Android 自定义Progress Bar
- android 自定义title bar
- android custom notification bar
- Android 自定义Progress Bar
- android 自定义title bar
- Action Bar for Android
- Android 网易顶部Bar
- 自定义android Rating bar
- android自定义title bar
- 计算机组成原理试卷一(期末复习备用)
- LeetCode OJ-537.Complex Number Multiplication
- 解决使用scrapy中 ERROR:Error downloading
- NYOJ116 士兵杀敌(二)(线段树区单点更新,区间求和,zkw线段树)
- Swift3使用GCD和DispatchQueues
- android-Bar系列
- Linux 下mysql遇到的坑
- swipeRefreshLayout基本用法
- 设计模式之桥接模式
- 解决listview item Textview加超链接 超链接以外部分不响应listview item点击事件问题
- iTOP-4412开发板网盘资料介绍
- PHP 性能分析工具XHProf使用
- java学习(二)java基本语法 初识java面向对象
- 双向链表实现