Ⅰ android ImageView控制項,圖片如何鋪滿整個控制項
android imageView有一個屬性就是scaleType擴大類型,使用fitXy值就可以實現鋪滿整個空間,操作如下:在ImageView里加上android:scaleType="fitXy"。
默認還有其他很多類型:scaleType=「matrix」 是保持原圖大小、從左上角的點開始,以矩陣形式繪圖。
scaleType=「fitXY」 是將原圖進行橫方向(即XY方向)的拉伸後繪制的。
scaleType=「fitStart」 是將原圖沿左上角的點(即matrix方式繪圖開始的點),按比例縮放原圖繪制而成的。
Ⅱ 問一下關於android 控制項大小的問題
這三個的android:layout_weight="1" 都設置成1
希望可以幫你。
layout_weight 用於給一個線性布局中的諸多視圖的重要度賦值。
所有的視圖都有一個layout_weight值,默認為零,意思是需要顯示
多大的視圖就占據多大的屏幕空 間。若賦一個高於零的值,則將父視
圖中的可用空間分割,分割大小具體取決於每一個視圖的layout_weight
值以及該值在當前屏幕布局的整體 layout_weight值和在其它視圖屏幕布
局的layout_weight值中所佔的比率而定。
舉個例子:比如說我們在 水平方向上有一個文本標簽和兩個文本編輯元素。
該文本標簽並無指定layout_weight值,所以它將占據需要提供的最少空間。
如果兩個文本編輯元素每一個的layout_weight值都設置為1,則兩者平分
在父視圖布局剩餘的寬度(因為我們聲明這兩者的重要度相等)。如果兩個
文本編輯元素其中第一個的layout_weight值設置為1,而第二個的設置為2,
則剩餘空間的三分之二分給第一個,三分之一分給第二個(數值越小,重要度越高)。
Ⅲ android 圖片佔用內存大小怎麼計算
1、將圖片轉化為縮略圖再載入: 代碼如下 1 BitmapFactory.Options options = new BitmapFactory.Options(); 2 options.inSampleSize = 2; 3 Bitmap img = BitmapFactory.decodeFile("/sdcard/1.png", options); 該段代碼即是讀取1.png的縮略圖,長度、寬度都只有原圖片的1/2。圖片大小減少,佔用的內存自然也變小了。這么做的弊端是圖片質量變差,inSampleSize的值越大,圖片的質量就越差。由於各手機廠商縮放圖片的演算法不同,在不同手機上的縮放圖片質量可能會不同。筆者就遭遇過moto手機上圖片縮放後質量可以接受,三星手機上同樣的縮放比例,質量卻差很多的情況。 2、用ARBG_4444顏色模式載入圖片: Android中有四種,分別是: ALPHA_8:每個像素佔用1byte內存 ARGB_4444:每個像素佔用2byte內存 ARGB_8888:每個像素佔用4byte內存 RGB_565:每個像素佔用2byte內存 Android默認的顏色模式為ARGB_8888,這個顏色模式色彩最細膩,顯示質量最高。但同樣的,佔用的內存也最大。 代碼如下 1 BitmapFactory.Options options = new BitmapFactory.Options(); 2 options.inPreferredConfig = Bitmap.Config.ARGB_4444; 3 Bitmap img = BitmapFactory.decodeFile("/sdcard/1.png", options); 以上代碼即是將1.png以ARGB_4444模式讀出。內存減少雖然不如第一種方法明顯,但是對於大多數圖片,看不出與ARGB_8888模式有什麼差別。不過在讀取有漸變效果的圖片時,可能有顏色條出現。另外,會影響圖片的特效處理。 3、調用圖片的recycle()方法: 這個其實不是真正降低圖片內存的方法。主要目的是標記圖片對象,方便回收圖片對象的本地數據。圖片對象的本地數據佔用的內存最大,而且與程序java部分的內存是分開計算的。所以經常出現Java heap足夠使用,而圖片發生OutOfMemoryError的情況。在圖片不使用時調用該方法,可以有效降低圖片本地數據的峰值,從而減少OutOfMemoryError的概率。不過調用了recycle()的圖片對象處於“廢棄”狀態,調用時會造成程序錯誤。所以在無法保證該圖片對象絕對不會被再次調用的情況下,不建議使用該方法。特別要注意已經用setImageBitmap(Bitmap img)方法分配給控制項的圖片對象,可能會被系統類庫調用,造成程序錯誤。 4、使用Matrix對象放大的圖片如何更改顏色模式: 雖然使用Matrix對象放大圖片,必定會耗費更多的內存,但有時候也不得不這樣做。放大後的圖片使用的ARGB_8888顏色模式,就算原圖片是ARGB_4444顏色模式也一樣,而且沒有辦法在放大時直接指定顏色模式。可以採用以下辦法更改圖片顏色模式。 代碼如下 Matrix matrix = new Matrix(); float newWidth = 200;//圖片放大後的寬度 float newHeight = 300;//圖片放大後的長度 matrix.postScale(newWidth / img.getWidth(), newHeight/ img.getHeight()); Bitmap img1 = Bitmap.createBitmap(img, 0, 0, img.getWidth(), img.getHeight(), matrix, true);//得到放大的圖片 img2 = img1.(Bitmap.Config.ARGB_4444, false);//得到ARGB_4444顏色模式的圖片 img = null; img1 = null; 這里比起原來的圖片額外生成了一個圖片對象img1。但是系統會自動回收img1,所以實際內存還是減少了。
Ⅳ 如何在android程序里改變imagebutton的大小要在main里設置嗎有幾種改變大小的方法
在android程序里改變imagebutton的大小方法為,使用如下布局
<ImageView android:id="@+id/ImageButton01"
android:src="@drawable/gray"
android:clickable="true"
android:adjustViewBounds="true"
android:maxWidth="35dip"
android:maxHeight="35dip"
android:padding="0dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
android:background="#00000000"
這樣圖片的大小會自動適應imagebutton的大小。
Ⅳ android中如何動態修改ImageView中圖片的大小 比如說點擊該圖片後圖片能變大
使用點陣圖(Bitmap)再重新繪制遍
//原點陣圖
Bitmap btm1 = BitmapFactory.decodeResource(Main.this.getResources(), R.drawable.hh);
BitmapDrawable bd1=BitmapDrawable(btm1);
imageView.setBackgroundDrawable(bd1);
放大後 滑動時計算 圖片的邊是否在屏幕外,如果在屏幕外就可移動,比如 向上滑動,是想看圖片下面的部分,此時計算圖片的底邊是否在屏幕外,如果是,就可以向上移動圖片。
Scaletype的設置的方式包括:
1、在layout xml中定義android:scaleType="CENTER"
2、或在代碼中調用imageView.setScaleType(ImageView.ScaleType.CENTER);
(5)android圖片控制項大小擴展閱讀:
根據位深度,可將點陣圖分為1、4、8、16、24及32點陣圖像等。每個像素使用的信息位數越多,可用的顏色就越多,顏色表現就越逼真,相應的數據量越大。
例如,位深度為 1 的像素點陣圖只有兩個可能的值(黑色和白色),所以又稱為二值點陣圖。位深度為 8 的圖像有 2^8(即 256)個可能的值。位深度為 8 的灰度模式圖像有 256 個可能的灰色值。
RGB圖像由三個顏色通道組成。8 位/通道的 RGB 圖像中的每個通道有 256 個可能的值,這意味著該圖像有 1600 萬個以上可能的顏色值。
有時將帶有 8 位/通道 (bpc) 的 RGB 圖像稱作 24 點陣圖像(8 位 x 3 通道 = 24 位數據/像素)。通常將使用24位RGB組合數據位表示的的點陣圖稱為真彩色點陣圖。
Ⅵ android開發中如何設置ImageButton的大小
在Android開發中,java代碼用於將zoom設置為fitxy,從而使類能夠繼承uibutton、重寫button和設置ImageView size來設置imagebutton的大小,具體Java設置代碼如下:
<ImageButton
android:id="@+id/btn_delete"
android:layout_width="48dp"
android:layout_height="80dp"
android:scaleType="fitXY"
android:background="@drawable/bg_sms"/>
此外,Android還包括一些C/C++庫,這些庫可以被Android系統中的不同組件使用,他們通過Android應用程序框架為開發人員提供服務。
(6)android圖片控制項大小擴展閱讀:
Android應用軟體開發語言有C語言等多種語言,但主流的開發語言是java語言,這使得界面的功能有了無盡的變化,增加軟體交互的可能性是Java的最大特點。
所有的Android應用程序都是用Java語言編寫的,用java語言開發的軟體程序庫、資料庫和運行庫是Android移動軟體的主要特點。
Java語言是增長最快的編程語言,它具有面向對象的特點,它相對容易理解,它的顯著特點是簡單,它繼承了C++語言的高級本質,它是計算機程序設計語言發展的一大進步,Java語言有一個獨立的體系結構,可以在任何系統中任意運行。
Ⅶ android中 ImageView 圖片占父控制項的空間太小 能改變View的大小么
你沒有把代碼貼出來!
imageview 布局裡面可以設置background和scr兩種屬性
如果設置圖片為scr就是默認圖片的大小
如果設置圖片為background,可以通過改
android:layout_width="wrap_content"
android:layout_height="wrap_content"設置起占父空間的大小!
Ⅷ android如何設置圖片自適應控制項大小
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/ic_launcher"/>
寬度和高度使用fill_parent (填充父窗體)
fill_parent 可以使控制項充滿父控制項,也就是你說的自動使用圖片控制項外的控制項大小。