首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android中使控件保持固定宽高比几种方式

adjustViewBounds ImageView设置adjustViewBounds,如下: android:adjustViewBounds="true" 这样ImageView就会以图片宽高比显示...但是这个方法缺点是只能用于ImageView。...这个方法优点是不必自定义view。缺点是组件外层需要包裹一个百分比布局,同时需要一个设置ratioxml文件。...在上面示例中我们将ImageView宽高都设置0。就此我测试了其他可能性,产生几个情况如下: 1、如果组件宽高都设置0dp,组件宽高按比例,且只受父view约束。...如图 2、如果其中一个设置成了wrap_content或match_parent,比如说宽度,那么宽度就会是 图片真实宽度 和 父view限制宽度 较小值,而高度会根据宽度和比例计算出来。

2.5K20

【Android 应用开发】AndroidUI设计 之 图片浏览器

边界padding空白是否显示; 填充方式 :android:scaleType, setScaleType(ImageView.ScaleType), 设置图片缩放类型以适配ImageView大小,...y 两个方向上缩放, 使图片完全填充整个ImageView 不按照长宽比例缩放; -- fitStart : 方法中常量值 ImageView.ScaleType.FIT_START, 保持长宽比缩放...; -- centerCrop : 方法中常量值 ImageView.ScaleType.CENTER_CROP, 保持长宽比缩放, 使图片完全覆盖ImageView; -- centerInside...: 方法中常量值 ImageView.ScaleType.CENTER_INSIDE, 保持长宽比缩放, 是的ImageView完全显示图片; 实例 :  XML文件 :  <LinearLayout..." ,长宽等比例缩放, 使图片完全覆盖ImageView, 图片中心与ImageView中心重合, 使图片最短边能覆盖ImageView边界; android:scaleType = "centerInside

89720
您找到你想要的搜索结果了吗?
是的
没有找到

Android仿主流壁纸App设置界面

图片很好想到,可以将ImageView放在HorizontalScrollView,当图片宽度大于屏幕宽度时候,图片就可以在HorizontalScrollView中进行左右滑动。...接下来就是思考这个滑块如何实现,当时考虑过自定义View方式,后来某个时刻灵光一闪,发现系统音量调节界面与其很类似,后来通过查阅相关资料发现有个叫SeekBar控件。...但是原生SeekBar不是长这个样子,需要你找UI人员做图,替换系统自带图片就可以了。废话不多说,直接看布局文件: <?xml version="1.0" encoding="utf-8"?...="true" android:scrollbars="none" <ImageView android:id="@+id/iv" android:layout_width="match_parent...int wmWidth = wm.getDefaultDisplay().getWidth(); int imageWidth = mImageView.getWidth(); // 比较图片宽度和屏幕宽度

1K10

Android中imageView图片放大缩小及旋转功能示例代码

二、方法 1)设置图片放大缩小效果 第一步:将<ImageView 标签中android:scaleType设置"fitCenter" android:scaleType="fitCenter" 第二步...); dm.widthPixels 第三步:设置seekBar最大progree值屏幕宽度 sb_one.setMax(dm.widthPixels); 第四步:设置imageview布局参数,也就是宽和高...标签中android:scaleType设置"fitCenter" // // 第二步:获取屏幕宽度 // // 第三步:设置seekBar最大progree值屏幕宽度 // /...(); getWindowManager().getDefaultDisplay().getMetrics(dm); //第二步:设置seekBar最大progree值屏幕宽度 sb_one.setMax...-- 设置图片显示方式:把图片按比例扩大/缩小到view宽度,居中显示 -- <SeekBar android:id="@+id/sb_one" android:layout_width="<em>match_parent</em>

6.1K50

Android动态设置控件长宽比几种常见方法

我们在日常开发中经常需要根据设备大小来确定控件大小,或者根据控件已知长宽设置其他控件长宽,这里记录几种常见方法: 根据设备宽度和长度确定控件大小 例如现在想把某个图片设置成宽度和屏幕宽度一样,长度是宽度一半...假设img所处布局LinearLayout ImageView img = //smth int width = img.getContext().getResources().getDisplayMetrics...xml version="1.0" encoding="utf-8"?...跟设备大小其实是已知,所以ImageView宽度是设备宽度减去padding大小,但是实际使用中,这时候想根据ImageView实际宽度来设置高度,跟上面的例子一样,如果我能获取到width...就好办了,但是经常会发现如果我们调用 ImageView img = //smth int width = img.getWidth() 得到width0,是因为这个函数调用太早,img还没有测量长宽

2K50

Andorid自定义控件属性值设置

其中有一个 solid属性,想要像android:layout_width="match_parent" 里match_parent一样可以输入标记表示一定意义,这里solid表示固定是宽还是高...,: app:solid="solid_width" // solid_height 找源码 我们知道自定义控件属性是定义在attrs.xml文件里,所以猜测Android自带属性也定义在其sdk...attrs.xml文件里到如下路径下: // 我使用是版本23sdk /sdk/platforms/android-23/data/res/values/attrs.xml 因layout_width...属性有match_parent和我们想要实现效果一致,我们可以搜索一下layout_width找找线索: ?...super.onMeasure(widthMeasureSpec, heightMeasureSpec); return; } // 将重新定义后宽度和高度设置图片显示大小

94020

Study Jams_ViewGroups&&LinearLayout

ViewGroup 一.什么是ViewGroup ViewGroup相当于是一个放置View容器,里面可以放置其他View,TextView,ImageView等等 大家可以先观察下面这段代码...2.wrap_content &match_parent 下面大家介绍设置宽度高度两种属性 wrap_content 和match_parent,当我们直接设置View宽度时,因为不知道内容多少...,很容易造成内容损失,如下图第一种,所以我们一般使用其余两种属性、wrap_context 适合内容大小宽度,View包含内容|match_parent 与父视图宽度相同,如下图所示 3....android :layout_weight布局权重 接下来我们学习LinearLayout中一个重要属性android :layout_weight.这个属性允许我们使用比例方式来指定控件大小...首先我们需要把使用权重高度/宽度设置0dp,使用权重控制大小。 下面的代码和呈现是我们不使用权重时 <?xml version="1.0" encoding="utf-8"?

6410

Android动画效果-更新中

故动画执行次数动画重复执行次数加1。 ? ---- setFillEnabled方法:使能填充效果 【功能说明】该方法用于使能填充效果。...在Android系统中,除了在代码中设置动画效果外,还可以在XML配置文件中设置动画组合动作,这种方式适用性更好。...---- setOneShot方法:设置播放方式 【功能说明】该方法用于设置帧动画播放方式,可以是单次播放,也可以是循环播放。在系统默认情况下采用是单次播放方式。该方法主要用于循环播放场合。...而且,这里设置值代表是比例值,因此,还需要进行计算转化为实际宽度值。最后,对象实际宽度view.getLayoutParams().width。...* 而且,这里设置值代表是比例值,因此,还需要进行计算转化为实际宽度值。 * 最后,对象实际宽度view.getLayoutParams().width。

3.7K20

Android开发 屏幕适配之像素密度适配

而屏幕适配又包括: 屏幕尺寸(small,normal,large,xlarge , 这些在Android 3.2以上版本开始不建议使用,转而使用最小屏幕宽度 sw600dp,最小宽度,最小高度等)...宽度和高度,单位px) N719: 引用drawable,drawable-mdpi目录下图片ImageView大小都为 96×96 引用drawable-hdpi目录下图片ImageView...经过多次测试,可推出以下结论: Android系统加载图片时设置图片宽高可能处理流程:(假设ImageView采用默认scale type) 1.获取图片文件宽度width 2.width单位...后面尝试在ldpi中添加同样大小图片,测试ImageView宽度 96/0.75 = 128,ImageView变大了,计算结果也与以上结论一致。 如何消除这种变大变小现象呢?...将ImageView宽度高度设成固定大小比如48×48 dp,在N719上测试情况如下: 布局文件: <?xml version="1.0" encoding="utf-8"?

1.2K10

Android Material UI控件之ShapeableImageView

,图片宽度大于或等于控件宽度,如果原图比例小于控件比例,则按照控件宽/图片宽进行等比例缩放,这样就能保证图片高度在进行同等比例缩放时候,图片高度大于或等于控件高度。   ...matrix 对图片放缩策略和显示方式采用matrix方式,即矩阵变换,例如我们想让一张图宽度与屏幕保持一致,高度等比放缩,并且顶部与ImageView顶部对齐。...这种方式不能通过给定默认方式做到。   使用了matrix,效果如下 ? 以上基本用显示用法 1.样式使用 样式就是在Style中新建即可,比如 <!...,表示VIew一半值进行处理。...strokeWidth 描边宽度,(内外描边,需要设置一半填充) strokeColor 描边颜色,常规颜色就可以。

1.9K41

让你布局滚动起来—ScrollView

前言 通过两天”实战“,今天我们稍微放松一下脚步,让大家喘口气歇一会儿,我们今天大家带来控件,解决了太多在项目中遇到适配问题,如果你已经碰到了这种问题,就紧跟我们脚步吧~ 在前面几篇文章中,向大家介绍了一些常用布局及...简介 ScrollView称为滚动视图,当在一个屏幕像素显示不下绘制UI控件时,可以采用滑动方式使控件显示。...使用方式 1.竖直滚动视图 ScrollView 在页面的竖直方向线性布局5个 Button,代码如下: <?xml version="1.0" encoding="utf-8"?...注意: ScrollView子元素只能有一个,可以是一个 View( ImageView、 TextView等) 也可以是一个 ViewGroup( LinearLayout、 RelativeLayout...在上面代码头部新增一个 HorizontalScrollView,水平方向线性布局4个 ImageView,代码如下: <?xml version="1.0" encoding="utf-8"?

3.4K30

ImageView属性和方法大全

ImageView 还QuickContactBadge,显示关联到特定联系人图片。 下表显示了ImageView支持XML属性及相关方法。...另外当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸,而使用background填入图片,则是会根据ImageView给定宽度来进行拉伸。...ImageView所支持android:scaleType属性可指定如下属性值。 matrix ( ImageView.ScaleType.MATRIX):使用 matrix 方式进行缩放。...然后修改一下app/src/java/MainActivity.java文件中加载布局文件新建image_layout.xml文件。运行程序,可以看到下图所示界面效果。 ?...到此,ImageView示例结束,关于ImageView更多用法可以参照上面的XML属性和方法参照表,建议多动手练习。

2.4K90

ViewPager 全面总结

创建Fragment及相应xml布局 2. 给Viewpager设置数据和适配器 四、实现轮播图效果 1. 特点 2. 使用介绍 1. 导包 + 权限 2. xml引用 3....标题栏 给Viewpager设置标题栏有一下几种方式: PagerTabStrip: 带有下划线 PagerTitleStrip: 不带下划线 TabLayout:5.0后推出 TabLayout详细使用...view.setRotation( 0); } } } 效果: position说明: 当前显示页0,前一页-1,后一页1,滑动过程中数值不断变大或变小,所以为float..." android:scaleType="centerCrop"/> 区别: 宽度,一个占满viewpager宽度,一个小于viewpager宽度 3....问题 当page宽度 < vp宽度,且page数量较少,没有占满vp,这时滑动vp,会出现闪屏,如下: 解决办法: 当明确知道vp放不下2个page时,可以如下处理 @Override public

1K20

Android仿qq侧滑菜单

我们经常能看到各种app中都有应用侧滑菜单(SlidingMenu),效果很好一种显示方式,今天我就向大家展示可以说是很简单就能实现和qq侧滑菜单很相似的效果。...开始 实现原理 我们可以自定义一个view,然后用一个水平滚动条HorizontalScrollView匹配父容器 要有这个HorizontalScrollView要有两倍屏幕宽度,用这个Android...文件attr.xml,添加适当代码后如下: <?...水平滚动条向右边滑动到极限后保留距离(原谅我语言匮乏,不怎么会形容),还是不能理解我说什么意思的话可以自己看看手机qq效果 定义view大小 我们为了让水平滚动条要适配屏幕大小,所以得定义一下...文件处理 在这里我们用是新建xml,名称为left_menu.xml 逻辑也是很简单 内部逻辑: 用一个水平排列LinearLayout 在LinearLayout内部嵌套RelativeLayout

1.1K31

Kotlin学习日志(六)控件使用

当然不是,登录首先是页面的布局处理,通常是输入框和按钮搭配,当然有的会有图形验证码,手势验证码,或者滑动验证等验证手段,最简单就是只有账号和密码登录,但是账号和密码也是要做限制,登录时候首先做空判断...“v” 表示发生了点击动作视图入参,其类型View,后一部分则为处理点击事件具体函数体代码。...接口实现方式 内部类方式固然使事件代码更加灵活,可如果每个事件都定义新内部类,要是某个页面上有多个控件都需要监听对应事件处理,那页面上代码就会很多,为了解决这个问题,第三种方式➖接口实现方式边应运而生...属性,修改isChecked属性即为设置是否勾选,而获取isChecked属性值即为判断是否勾选,这种合二情况还有一些,如下表: 按钮控件属性说明 Kotlin状态属性 Java状态获取与设置方式...,该属性vertical时,单选按钮就在垂直方向上排列,并且RadioGroup下面除了RadioButton外,也可以挂载其他子控件,TextView、ImageView等,这样看来,它就是一个特殊线性布局

1.7K30
领券