2013-03-02 103 views
10

我正在使用下面的代碼來使用remoteview在窗口小部件imageview上設置圖像,現在我想設置圖像視圖運行時的高度和寬度。以編程方式在窗口小部件上設置ImageView寬度和高度

if (appWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID) { 
    AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(WidgetActivity1_1.this); 
    RemoteViews remoteViews = new RemoteViews(WidgetActivity1_1.this.getPackageName(), R.layout.widget_layout1_1); 
    Intent configIntent = new Intent(WidgetActivity1_1.this,UpdateWidgetService.class); 
    configIntent.putExtra("Appid", appWidgetId); 
    PendingIntent configPendingIntent = PendingIntent.getService(WidgetActivity1_1.this, appWidgetId, configIntent, 0); 
    remoteViews.setImageViewResource(R.id.imgviewGrow, R.drawable.flower1); 
} 

回答

15

您可以設置佈局PARAMS progrematiclly這樣:

myImageView.setLayoutParams(new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.WRAP_CONTENT, 
ViewGroup.LayoutParams.WRAP_CONTENT)); 

或設置數量來代替。

圖像大小操作有時也許棘手,但還是建議先得到 圖像佈局參數,可以改變它,將其設置回:

android.view.ViewGroup.LayoutParams layoutParams = myImageView.getLayoutParams(); 
layoutParams.width = 30; 
layoutParams.height = 30; 
myImageView.setLayoutParams(layoutParams); 

,如果你仍然可以更改它的大小盡量把它的一個問題一個的LinearLayout內,並使用佈局PARAMS操縱ImageView的大小:

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(30, 30); 
myImageView.setLayoutParams(layoutParams); 

更新:以下職位應該幫助你與你所需要的:

RemoteViews setLayoutParams?

http://pastebin.com/As3L8xWu

+0

感謝答覆,但它會改變我使用的ImageView,但構件,因此我們不能直接訪問的ImageView我們必須使用遠程視窗爲u可以在我的崗位看,我現在已經建立圖像運行的ImageView heigth寬度這樣我想在遠程視圖中設置高度寬度。 – PankajAndroid 2013-03-02 07:14:09

+0

查看更新的答案。 – 2013-03-02 07:25:14

+0

當您在widget中設置圖片視圖佈局時,您無法設置它,您必須先向用戶remotivew和遠程觀看者提供setLayoutPrarms方法。 – PankajAndroid 2013-03-02 07:33:23

-3

喜嘗試這些行設置ImageView的寬度和高度

image_view.getLayoutParams().height = 20; 

image_view.getLayoutParams().width = 100; 
+0

對不起,請仔細閱讀我的文章我將設置remoteview imageview大小不僅佈局imageivew請閱讀它。 – PankajAndroid 2013-03-02 07:31:21

+0

檢查這個文檔關於遠程視圖'http:// developer.android.com/reference/android/widget/RemoteViews.html#addView%28int,%20android.widget.RemoteViews%29' – androidgeek 2013-03-02 07:34:00

-4

這應該工作!

image.getLayoutParams().height = 90;

+0

你的答案增加了什麼例如一個來自androidgeek? – joaquin 2013-12-31 09:39:15

相關問題