2012-09-07 76 views
0

我想以編程方式調整CheckBox的圖像大小,但我想使用手機的原始圖像。我只是想擴展它。 我不會提供自己的圖像,因爲我想保持手機的外觀,而且我仍然不得不縮放它們。 我已經嘗試使用 Setting Android CheckBox to a different image... and then back to the original images 獲得系統映像資源,但我仍然無法縮放drawable。 (我試過drawable.setBounds())。 我可能也會遇到單選按鈕的問題。 感謝您的幫助!以編程方式在Android中調整複選框圖像

+0

您是否試圖縮放CheckBox的高度和寬度? –

+0

checkbox.setWidth()和checkbox.setHeight()不起作用。 。 checkbox.getLayoutParams()高度= 16具有效果,但是剪輯的內容(圖像和文本),因爲這樣做機器人:layout_width = 「16dip」 機器人:在佈局中的xml layout_height = 「16dip」。 –

+0

我沒有得到解決,所以這裏是我的部分答案:與Android 11一個開始可以在視圖中使用setScaleX()和setScaleY()。 –

回答

0

,你就應該能夠設置上的複選框的佈局參數:

LayoutParams lp = findViewById(R.id.chk_id).getLayoutParams(); 
lp.width = width; 
lp.height=height; 
findViewById(R.id.chk_id).setLayoutParams(lp); 

通過獲得的LayoutParams你presever的觀點

寬度和高度關聯的任何其他佈局設置之前,以像素爲單位,按比例縮放以供密度使用:

DisplayMetrics dm = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(dm); 
     int width = (int)(150*dm.density); 

您需要使用Container類作爲Layout參數這個例子適用於FrameLayout但是ju st替換爲父容器的類型。

+0

這看起來很合理,但我找不到'R.id.chk_id'。我嘗試了'android.R.id.chk_id',但只有'.checkbox'(它不是複選框圖像的ID)。 如果我在這裏誤解你和'chk_id'代表我的CheckButton的ID,那麼答案是:這是行不通的。它剪輯CheckBox的內容(圖像和文本)。 –

相關問題