android 動態改變圖片大小

來源:互聯網
上載者:User

標籤:android   圖片   public   動態   

在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);


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.