ImageView、设定拓展硬件权限(读取内存卡)、ToggleButton、Switch、RatingBar、SeekBar
来源:互联网 发布:java模拟器安卓版官网 编辑:程序博客网 时间:2024/06/11 02:26
ImageView 控件
<ImageView android:layout_width="300dp" android:layout_height="wrap_content" android:src="@drawable/s1" //设置所充填的图片 android:layout_gravity="center" android:id="@+id/iv_main_image" android:scaleType="centerInside" //设置图片的充填模式 />
通过JAVA可以设置属性:
ImageView对象.setImageAlpha(透明度数字组成,从0-255(0是最大透明));
ImageView对象.setImageResource(R.图片文件夹.图片); //更换图片
ScaleType属性,在原图小于(组件),所展示的效果
ScaleType属性,在大于组件在图中展示的效果
设定拓展硬件读取权限(本次读取内存卡)
图片局部放大功能
判断内存卡情况,取到内存卡的绝对路径
(Environment 可以获取当前手机的一些信息,包括存储卡的信息,本次主要获取存储卡)
//取拓展硬件(本次取当前手机内存卡) //Environment.getExternalStorageState() 此方法,取外部内存卡的状态 //Environment.MEDIA_MOUNTED 内存卡的状态为激活状态 //判断意思为,本机,目前的内存条能用不 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){//Environment.getExternalStorageDirectory() 取到内存卡//Environment.getExternalStorageDirectory().getAbsolutePath(); 取到内存卡的绝对路径//根目录 /storage/emulated/0 未ROOT的手机无法,看到String abspath=Environment.getExternalStorageDirectory().getAbsolutePath();
取内存卡内的图片,通过Bitmap(绘图)实现布局放大
首先设定读取内存卡权限(上面的图片内就是)
xml文件
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.examination_one.MainActivity" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <ImageView //主要展示图片组件 android:layout_width="match_parent" android:layout_height="300dp" android:id="@+id/iv_main_imageOne" /> <ImageView //被截取下来的图片展示 android:layout_width="250dp" android:layout_height="200dp" android:id="@+id/iv_main_imageTwo" /> </LinearLayout></LinearLayout>
JAVA代码实现
package com.example.examination_one;import android.app.DatePickerDialog;import android.app.TimePickerDialog;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.icu.util.Calendar;import android.os.Build;import android.os.Environment;import android.support.annotation.Nullable;import android.support.annotation.RequiresApi;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Gravity;import android.view.MotionEvent;import android.view.View;import android.widget.CheckBox;import android.widget.DatePicker;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.TimePicker;import android.widget.Toast;import java.io.File;import java.util.ArrayList;import java.util.Date;public class MainActivity extends AppCompatActivity { private Bitmap bitmap; private File[] fileone; private ImageView imagetwo; private ImageView image; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //取到展示图片的组件 image = (ImageView) findViewById(R.id.iv_main_imageOne); //触摸的图片展示 imagetwo = (ImageView) findViewById(R.id.iv_main_imageTwo); //取拓展硬件(本次取当前手机内存卡) //Environment.getExternalStorageState() 此方法,取外部内存卡的状态 //Environment.MEDIA_MOUNTED 内存卡的状态为激活状态 //判断意思为,本机,目前的内存条能用不 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){ //Environment.getExternalStorageDirectory() 取到内存卡 // Environment.getExternalStorageDirectory().getAbsolutePath(); 取到内存卡的绝对路径 //根目录 /storage/emulated/0 未ROOT的手机无法,看到 String abspath=Environment.getExternalStorageDirectory().getAbsolutePath(); //用内存卡的路径,创建一个文件对象 File file=new File(abspath+"/image"); //取到该路径下的所有文件(包含文件夹) fileone = file.listFiles(); //我这个文件夹内全部是图片 // decode编译 ,把文件图片数组中的第一个的设定,为绘图 //Bitmap 绘图,BitmapFactory绘图工厂 bitmap = BitmapFactory.decodeFile(fileone[0].getAbsolutePath()); //把刚才产生的绘图对象,设置到图片Imageview组件中 image.setImageBitmap(bitmap); //---------------------------------------------- //实现图片布局放大,实现步骤: // 先把Imageview设定触摸事件 image.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { //v 代表其实就是你的Imageview组件,不过我这边已经帮组件设置成了全局变量,所有这个值我就不用了 //event 可以通过此值,取到触摸的x及y轴坐标 float x=event.getX(); float y=event.getY(); //从原图上,截取受触摸部分,参数四五,是截取,大小 Bitmap bitmaptwo=Bitmap.createBitmap(bitmap,(int)x,(int)y,20,20); //把截取到的新图,放入,局部放大组件中(第二个ImageView)展示 imagetwo.setImageBitmap(bitmaptwo); return true; } }); } }}
ToggleButton、Switch
- 其实这二个都是开关按钮。
- ToggleButton 是点击开关
- Switch滑动开关
ToggleButton
- 属性
- 它于Button相同,大多数的属性和Button相同
<ToggleButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:textOn="开" //设定开启状态下的按钮内的字 android:textOff="关" //设定关闭状态下的按钮内的字 android:id="@+id/tb_main_switch" android:checked="false" //初始状态,是关闭还是开启 android:textStyle="italic|bold" //按钮中的字体样式 />
- 效果图
Switch
其实与ToggleButton 相似
-属性
android:typeface="normal":设置字体类型 android:track="":设置开关的轨迹图片 android:textOff="开":设置开关checked的文字 android:textOn="关":设置开关关闭时的文字 android:thumb="":设置开关的图片 android:switchMinWidth="":开关最小宽度 android:switchPadding="":设置开关 与文字的空白距离 android:switchTextAppearance="":设置文本的风格 android:checked="":设置初始选中状态 android:splitTrack="true":是否设置一个间隙,让滑块与底部图片分隔(API 21及以上) android:showText="true":设置是否显示开关上的文字(API 21及以上)
- 初始状态下的效果图
SeekBar
- SeekBar是进度条。我们使用进度条时,可以使用系统默认的进度条;也可以自定义进度条的图片和滑块图片等
<!-- max=100,代表它的取值范围是0-100,共101个值; progress=20,代表默认值是20 progressDrawable,表示SeekBar的背景图片 thumbe,表示SeekBar的滑块图片 --> <SeekBar android:id="@+id/seekbar_self" android:layout_width="620px" android:layout_height="wrap_content" android:max="100" android:progress="20" android:progressDrawable="@drawable/bg_bar" android:thumb="@drawable/thumb_bar" />
* RatingBar*
- 评分系统
- 详细介绍
阅读全文
0 0
- ImageView、设定拓展硬件权限(读取内存卡)、ToggleButton、Switch、RatingBar、SeekBar
- AnalogClock、ToggleButton、Switch、RatingBar、SeekBar
- Android学习之RatingBar,SeekBar,ToggleButton,Switch
- Android中ToggleButton,Switch,SeekBar,RatingBar的一些用法
- ToggleButton,Switch,RatingBar的使用
- Android—ToggleButton、Switch和RatingBar使用
- Android开发-ToggleButton-Switch-RatingBar-AndroidStudio
- 常用控件Toggle-Switch-SeekBar-RatingBar
- RatingBar,SeekBar,ToggleButton的一些属性及其方法
- Android控件之ProgressBar(进度条),ToggleButton/SwitchBar(开关按钮),SeekBar(拖动条)/RatingBar(等级评分)
- (六)ImageView及其使用 SeekBar及其使用 RatingBar及其使用 ProcessingBar及其使用
- Android控制之ToggleButton和Switch与RatingBar
- 常用控件(ProgressBar,Toggle,Switch,SeekBar,RatingBar)解析
- seekbar/ratingbar
- SeekBar . RatingBar
- Android基本组件10(SeekBar,RatingBar)
- 关于Bar(二)----SeekBar&RatingBar
- Android基础控件ToggleButton→ Switch→ SeekBar→ProgressBar 控件
- 共用体unoin
- 1863 畅通工程(最小生成树树)
- 1233 还是畅通工程(最小生成树)
- The _imaging C module is not installed
- 1875 畅通工程再续(最小生成树)
- ImageView、设定拓展硬件权限(读取内存卡)、ToggleButton、Switch、RatingBar、SeekBar
- python写算法题:leetcode: 6. ZigZag Conversion
- 浅谈Android LRecyclerView
- 1879 继续畅通工程(最小生成树)
- 二分查找(java)
- 【重要】号外啦,演示系统发布啦
- ListView Android 教程
- Shiro--初识Shiro
- 阿里云ECS,WampServer无法访问外网