android   动态改变图片大小

在oncreate中,使用getheight等函数不能获得控件大小,得到的为0

应使用其他方法

Resources res = getResources();

final ImageView view=(ImageView)findViewById(R.id.IV_about);

final Drawable drawable=res.getDrawable(R.drawable.ic_about);

DisplayMetrics dm = new DisplayMetrics();

getWindowManager().getDefaultDisplay().getMetrics(dm);

final int screen_height = dm.heightPixels ;//高度

ViewTreeObserver vto = view.getViewTreeObserver();

vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {

public boolean onPreDraw() {

int height = (int) ((float) view.getMeasuredWidth()/drawable.getMinimumWidth() * drawable.getMinimumHeight());

int width = view.getMeasuredWidth();

LinearLayout.LayoutParams linearParams =(LinearLayout.LayoutParams) view.getLayoutParams(); //取控件textView当前的布局参数

linearParams.height = height;

linearParams.width = view.getMeasuredWidth();

linearParams.topMargin=screen_height/10;

view.setLayoutParams(linearParams);

view.setImageResource(R.drawable.ic_about);

android   动态改变图片大小

时间: 2024-10-13 01:40:47

android   动态改变图片大小的相关文章

Android 动态改变组件大小

注意,你要改变组件的部分,要在XML中将其设置为warp_content.比如 你如果要改变button宽度,在xml中就要将其layout_width设置为wrap_content 在代码中动态设置宽度是通过设置设置LayoutParams来达到效果的 ImageView pictureView = (ImageView) convertView.findViewById(R.id.picture_view); ViewGroup.LayoutParams layoutParams=holde

Android动态改变布局,比如登陆弹出软键盘,登陆框上移(转载)

Android动态改变布局 http://www.cnblogs.com/angeldevil/p/3836256.html 遇到这么个需求,先看图:      其实是一个软件的登录界面,初始是第一个图的样子,当软键盘弹出后变为第二个图的样子,因为登录界面有用户名.密码.登录按钮,不这样的话软键盘弹出后会遮住登录按钮(其实之前的实现放到了ScrollView里面,监听软键盘弹出后滚动到底部,软键盘隐藏后滚动到顶部,也是可以的). 最简单的方法就是多加几个冗余的View,根据软键盘的状态隐藏不需要

jquery动态改变图片

动态改变图片: var bb = 1;var aa=4; $("div[page='" + bb + "'] dd").eq(aa).children("img").attr("src", "images/zy_033.jpg") <div class="Pc4_con_list1" page="1"> <dl class="Pc4_dl1

UGUI动态改变Grid大小

工作中经常需要用到Grid,动态添加物体时,就需要动态改变Grid大小.直接写好脚本,以后COPY. using UnityEngine;using System.Collections;using UnityEngine.UI;using System; public class Colve_UpdateGridShow : MonoBehaviour { public GridLayoutGroup m_Grid; private Vector2 cellVec2; private Vect

js动态改变图片src在ie6下的兼容问题

场景:验证码图片在ie6下出不来 这个BUG折腾了我近半个小时,最后GOOGLE成功,原因是IE6的底层BUG,我们使用<a>的href属性改变的时候会中断加载,导致我们看不到图片,这经常在验证码或动态改变图片的时候遇到. 所以我们在使用a 链接时通常href和onclick都会同时用到,链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接),假设链接中同时存在 href 与 onclick,如果想让 href 属性下的动作不执行,o

ios 改变图片大小缩放方法

http://www.cnblogs.com/zhangdadi/archive/2012/11/17/2774919.html http://bbs.csdn.net/topics/390898581 ios 改变图片大小缩放方法 -(UIImage*) OriginImage:(UIImage *)image scaleToSize:(CGSize)size{    UIGraphicsBeginImageContext(size);  //size 为CGSize类型,即你所需要的图片尺寸

android 动态改变屏幕方向

LANDSCAPE与PORTRAIT 范例说明 要如何通过程序控制Activity的显示方向?在Android中,若要通过程序改变屏幕显示的方向,必须要覆盖 setRequestedOrientation()方法,而若要取得目前的屏幕方向,则需要访问getRequestedOrientation()方 法. 本 范例为求简要示范更改做法,设计了一个按钮,当单击按钮的同时,判断当下的屏幕方向,例如竖排(PORTRAIT),则将其更改为横排 (LANDSCAPE);若为横排(LANDSCAPE),则

imagecopyresampled()改变图片大小后质量要比imagecopyresized()高。

php程序中改变图片大小的函数大多数人都想到用imagecopyresized(),不过经过测试比较发现,使用imagecopyresampled()改变的图片质量更高. 下面我们来看看两者的比较结果. 原图: 使用imagecopyresized()将图片缩小一半 代码: <?php// File and new size$filename = 'test.jpg';$percent = 0.5;// Content typeheader('Content-Type: image/jpeg')

android 动态改变控件位置和大小 .

动态改变控件位置的方法: setPadding()的方法更改布局位置. 如我要把Imageview下移200px: ImageView.setPadding( ImageView.getPaddingLeft(),  ImageView.getPaddingTop()+200, ImageView.getPaddingRight(),  ImageView.getPaddingBottom()); 动态改变控件大小的方法: 1.声明控件参数获取对象 LayoutParams lp: 2.获取控件