android横向填充图片,Android图片等比例缩放和填充屏幕效果

本文实例为大家分享了Android图片等比例缩放和填充屏幕的具体代码,供大家参考,具体内容如下

第一种方法:在ImageView的t同事设置两个属性

android:adjustViewBounds="true"

android:scaleType="fitXY

第二中方法:用IamgeView的 android:scaleType  设置属性的时候  填充屏幕出现的各种问题

/**

* 将图片等比例缩放 setAdjustViewBounds setMaxWidth setMaxWidth必须同时设置才有效

*

* @param context

* @param view

* 父容器

* @param image

* 图片控件

* @param source

* 图片资源

*/

public static void setImageViewMathParent(Activity context,LinearLayout view,ImageView image,int source) {

Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(),source);

DisplayMetrics displayMetrics = new DisplayMetrics();

context.getWindowManager().getDefaultDisplay()

.getMetrics(displayMetrics);

float scalew = (float) displayMetrics.widthPixels

/ (float) bitmap.getWidth();

image.setScaleType(ScaleType.MATRIX);

Matrix matrix = new Matrix();

image.setAdjustViewBounds(true);

if (displayMetrics.widthPixels < bitmap.getWidth()) {

matrix.postScale(scalew,scalew);

} else {

matrix.postScale(1 / scalew,1 / scalew);

}

image.setMaxWidth(displayMetrics.widthPixels);

float ss = displayMetrics.heightPixels > bitmap.getHeight() ? displayMetrics.heightPixels

: bitmap.getHeight();

image.setMaxWidth((int) ss);

view.addView(image);

if (bitmap != null && bitmap.isRecycled()) {

bitmap.recycle();

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

小编个人微信号 jb51ccc

喜欢与人分享编程技术与工作经验,欢迎加入编程之家官方交流群!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 第一篇 Android开发初步 第1章 Android初识 1.1 Android简介 1.1.1 认识Android 1.1.2 Android系统框架 1.1.3 应用程序框架 1.2 Eclipse开发环境 1.2.1 安装ADT插件 1.2.2 安装SDK 1.2.3 配置源代码 1.2.4 创建AVD 1.3 Android模拟器 1.3.1 ADB工具 1.3.2 其它常用工具 1.4 本章小结 第2章 应用程序构建 2.1 创建Android工程 2.2 HelloAndroid详解 2.2.1 程序结构 2.2.2 代码分析 2.3 权限permission 2.4 LogCat日志调试 2.5 示例练习 2.5.1 登录界面 2.5.2 事件处理 2.6 本章小结 第二篇 Android开发关键组件 第3章 Activity(活动) 3.1 什么是任务 3.2 Activity的生命周期 3.3 基本用法 3.3.1 创建Activity 3.3.2 启动Activity 3.3.3 窗口Activity 3.3.4 Activity生命周期验证 3.4 Activity之间通信 3.4.1 Activity传递一般类型 3.4.2 Activity传递对象类型 3.4.2 Activity回传数据 3.5 Activity加载模式 3.6 本章小结 第4章 Intent (意图) 4.1 显式Intent 4.2 隐式Intent 4.2.1 IntentFilter 4.2.2 调用系统组件 4.3 本章小结 第5章 BroadcastReceiver (广播) 5.1 生命周期 5.2 广播类型 5.2.1 普通广播 5.2.2 有序广播 5.2.3 异步广播 5.3 系统广播应用 5.3.1 系统广播 5.3.2 开机启动程序 5.3.3 电量监测 5.4 本章小结 第6章 Service(服务) 6.1 生命周期 6.2 Binder机制 6.3 AIDL基础 6.3.1 定义AIDL接口 6.3.2 使用AIDL开发程序的一般步骤 6.3.3 实现远程控制计数器示例 6.4 AIDL深入练习 6.4.1 服务端实现 6.4.2 客户端实现 6.5 系统服务 6.5.1 获得系统服务 6.5.2 获取屏幕分辨率 6.5.3 剪贴板服务 6.5.4 电话服务 6.5.5 定时提醒服务 6.5.6 音频服务 6.5.7 传感器服务 6.5.8 位置服务 6.6 本章小结 第三篇 Android开发基础详解 第7章 常用控件 7.1 Button(按钮) 7.2 ImageButton(图片按钮) 7.3 ToggleButton(开关按钮) 7.4 TextView(文本视图) 7.5 ImageView(图片视图) 7.6 EditText(编辑框) 7.7 RadioButton(单选按钮) 7.8 CheckBox(多选框) 7.9 Spinner(下拉列表) 7.10 AutoCompleteTextview(自动完成) 7.11 DataPicker&TimePicker;(日期&时间) 7.12 ProgressBar (进度条) 7.12.1 横向进度条 7.12.2 旋转型进度条 7.13 SeekBar (拖动条) 7.14 RatingBar(评分条) 7.15 本章小结 第8章 界面布局 8.1 基本布局 8.1.1 线性布局 8.1.2 相对布局 8.1.3 绝对布局 8.1.4 Frame布局 8.1.5 表格布局 8.2 Tab布局 8.3 ScrollView 8.4 ListView(列表) 8.4.1 继承自ListActivity 8.4.2 ListView灵活运用 8.5 GirdView(网格) 8.6 WebView(网页) 8.6.1 WebView加载web页面 8.6.2 WebView中对JavaScript的支持 8.7 Gallery (画廊) 8.8 SlidingDrawer(滑动抽屉) 8.9 Dialog(对话框) 8.9.1 AlertDialog警告框 8.9.2 ProgressDialog进度框 8.9.3 DatePickerDialog & TimePickerDialog(日期时间选择框) 8.10 Menu(菜单) 8.10.1 options menu 8.10.2 contex
你可以使用 HorizontalScrollView 和 LinearLayout 实现横向滚动图片效果。具体实现步骤如下: 1. 在布局文件中,使用 HorizontalScrollView 包裹 LinearLayout,并设置 LinearLayout 的 orientation 属性为 horizontal,如下所示: ```xml <HorizontalScrollView android:layout_width="match_parent" android:layout_height="wrap_content"> <LinearLayout android:id="@+id/ll_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal"> <!-- 在这里添加图片 --> </LinearLayout> </HorizontalScrollView> ``` 2. 在代码中,获取 LinearLayout 并动态添加图片,如下所示: ```java LinearLayout llHorizontal = findViewById(R.id.ll_horizontal); for (int i = 0; i < imageList.size(); i++) { ImageView imageView = new ImageView(this); imageView.setImageResource(imageList.get(i)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( getResources().getDimensionPixelSize(R.dimen.image_width), getResources().getDimensionPixelSize(R.dimen.image_height)); layoutParams.setMargins(0, 0, getResources().getDimensionPixelSize(R.dimen.image_margin), 0); imageView.setLayoutParams(layoutParams); llHorizontal.addView(imageView); } ``` 其中,imageList 是存放图片资源 ID 的列表,R.dimen.image_width、R.dimen.image_height 和 R.dimen.image_margin 是在 dimens.xml 文件中定义的图片宽度、高度和间距。 这样就可以实现横向滚动图片效果了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值