我正在尝试实现一个可以容纳横向或纵向图像的 ImageView。 这些图像应该适合 imageview 的宽度(如果是横向)或高度(如果是纵向),但在任何情况下它们都必须与 View 的顶部对齐,没有边距或填充。
我想要实现的是类似 android:scaleType="fitStart" 的东西,但在纵向图像的情况下居中或在横向图像的情况下与顶部对齐.
添加:
现在我正在使用这样一个丑陋的代码,它似乎可以工作,但不确定这是最好的解决方案:
<com.custom.layout.MyImageView
android:id="@+id/detail_view_image"
android:src="@drawable/logo"
android:background="#fff"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:cropToPadding="false"
android:adjustViewBounds="false"
/>
然后在我的类里面,我扩展了 ImageView:
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int imgWidth = getDrawable().getIntrinsicWidth();
int imgHeight = getDrawable().getIntrinsicHeight();
if(imgWidth>imgHeight)
setScaleType(ScaleType.FIT_START);
else
setScaleType(ScaleType.FIT_CENTER);
int width = measureWidth(widthMeasureSpec);
int height = measureHeight(heightMeasureSpec);
setMeasuredDimension(width, height);
}
最佳答案
您可以在 onCreate() 方法中放置一个 fragment ,根据手机的方向更改 ImageView 的 scaleType,而不是覆盖原生 View 。
一些示例 fragment (我不确定它是否像那样工作但为了理解这个想法), 在 onCreate 方法中:
ImageView imgView = findViewById(R.id.myImage);
//portrairt orientation
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
imgView.setScaleType(ScaleType.FIT_CENTER);
} else { //landscape orientation
imgView.setScaleType(ScaleType.FIT_START);
}
因此,当方向发生变化时,将再次调用 onCreate 并更改 View 的比例类型,如果您要重写 onConfigurationChanged() ,那么您应该在任何需要的地方再次添加上面的代码 fragment 。 试一试,让我知道它是否有效
关于安卓 ImageView ScaleType *FIT_TOP*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4796806/
最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路
首先,这是我的版本:Greg-Nowickis-MacBook-Pro:sample_appGreg_Nowicki$ruby-vruby2.0.0p451(2014-02-24revision45167)[x86_64-darwin13.1.0]Greg-Nowickis-MacBook-Pro:sample_appGreg_Nowicki$rails-vRails4.0.4我正在学习HartlRails教程并安装rspec进行测试。我已将gem'rspec-rails'添加到我的gemfile中,当我运行railsgeneraterspec:install时,这就是我得到的:Gre
快捷目录前言一、涉及到的相关技术简介二、具体实现过程及踩坑杂谈1.安卓手机改造成linux系统实现方案2.改造后的手机Linux中软件的安装3.手机Linux中安装MySQL5.7踩坑实录4.手机Linux中安装软件的正确方法三、Linux服务器部署前后端分离项目流程1.前提准备(安装必要软件,搭建环境):2.前后端分离项目的详细部署过程:总结前言总体概述:本篇文章隶属于“手机改造服务器部署前后端分离项目”系列专栏,该专栏将分多个板块,每个板块独立成篇来详细记录:手机(安卓)改造成个人服务器(Linux)、Linux中安装软件、配置开发环境、部署JAVA+VUE+MySQL5.7前后端分离项目
在Ruby1.9.2堆栈跟踪中,我经常看到给出的方法为,如下面的堆栈部分所示。这是什么意思?我的Ruby安装有什么问题吗?Couldnotfindabstract-1.0.0inanyofthesources/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/spec_set.rb:87:in`blockinmaterialize'/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.13/lib/bundler/spec_set.rb:81:in`map!'/usr/l
我使用OpenLayers3创建了一张map。我可以使用以下代码成功缩放到map上的图层:map.getView().fit(extent,map.getSize());但是我想要以动画方式呈现的类似内容。我知道以下动画:ol.animation.panol.animation.zoom通过使用这些我无法缩放到图层,使用ol.animation.pan我只能平移到一个点(而不是边界框)并使用ol.animation.zoom我可以缩放到一个分辨率(和而不是边界框)。所以我正在寻找的是一个动画.fit,这样我就可以将动画缩放到一定程度。任何关于我如何实现的建议将不胜感激:)
首先,这不是固定顶部导航的bodypadding-top问题。body{padding-top:40px;}我有一个导航栏,无论好坏,它都有很多数据/信息。我遇到的问题是,当导航栏分成多行时(这很好)它与内容重叠(不好)。以下是我所见/所经历的示例。http://jsfiddle.net/jsuggs/ZaMs3/7/有没有人有聪明的javascript解决方案来更改正文填充或在导航栏分成多行时强制折叠的方法?更新这是我最终使用的。我不得不添加一些额外的填充并组合加载和调整大小事件。$(window).on('loadresize',function(){$('body').css({
当我试图点击我的日历控件时出现javascript错误。html代码为: 当我点击日历控件中的日期时,这段代码在代码隐藏中执行:ProtectedSubCalendar1_SelectionChanged(ByValsenderAsObject,ByValeAsSystem.EventArgs)HandlesCalendar1.SelectionChangedDimstrjscriptAsString=""strjscript&="window.top.document.getElementB
在微信小程序开发中遇到在video组件的两个问题1.安卓手机里播放视频会有明显的卡顿问题刚开始以为是网络问题,或者是视频文件问题。排查了一下发现都没问题最后加了个属性就OK了uniapp和原生小程序方法:custom-cache="false"custom-cache={{false}}video组件兼容iOS手机custom-cache加了这个属性会让2.iOS手机第一次播放视频会有几秒黑屏问题因此我加了当前手机型号的判断uni.getDeviceInfo().deviceType获取当前设备api当为iPhone时不加custom-cache属性,否则加上custom-cache=“fal
有谁知道是否可以在Highcharts中创建这样的东西?:关于顶部的天气图标。我将它们添加为很好的“散点图”,因此可以禁用图像/图形。但我希望他们始终处于领先地位。例如:y=20px什么的。可以用Highchart做到这一点吗?我知道将他们的数据设置为“30摄氏度”,但如果温度上升到30度,这会弄乱图表。 最佳答案 您可以使用具有两个x轴的技巧,一个带有图像并偏移到图表的顶部,另一个带有底部的常用标签:xAxis:[{offset:-290,tickWidth:0,lineWidth:0,categories:['Jan','Feb
是否有一个很好的Javascript库来生成像Twitter主页上的“TopTweets”这样的自动滚动列表?最好作为jQuery插件。它还应支持AJAX功能(动态添加新列表项)。 最佳答案 由于我们对现有解决方案并不十分满意,因此我们从头开始实现了一个。我们的解决方案是一个完全兼容jQueryUI的代码插件(也兼容他们的主题框架)并且经过了全面的单元测试。我们还没有时间在每个浏览器下对其进行测试,因此欢迎提供反馈(如有问题,请在下面的Github项目站点上打开问题)。特殊样式demo(像Twitter)可用here.可以找到主要的