2013-03-02 4 views
10

Я использую приведенный ниже код, чтобы установить изображение в режиме просмотра виджетов с помощью remoteview. Теперь я хочу установить высоту и ширину для среды просмотра изображений.Установите 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)); 

или установить вместо номера.

Размер изображения манипуляции иногда может быть сложно, и рекомендуется сначала получить макет изображения Params, изменить его и установить его обратно:

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

и если вы все еще есть проблемы, чтобы изменить его размер попытаться поставить его внутри LinearLayout и манипулировать размером ImageView с использованием макета Params:

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

Update: следующие посты должны помочь вам с тем, что вам нужно:

RemoteViews setLayoutParams?

http://pastebin.com/As3L8xWu

+0

спасибо за ответ, но это изменит ширину ImageView heigth я использую ImageView, но в виджете, поэтому мы не можем непосредственно получить доступ к ImageView мы должны использовать RemoteView, как вы можете увидеть в моем посте я установил время выполнения изображения в настоящее время таким образом я хочу установить высоту ширины в remotview. – PankajAndroid

+0

см. Обновленный ответ. –

+0

u r seeting imageview layout, в то время как в виджетах вы не можете установить его, вы должны иметь для пользователя remotivew и remotview donsnt иметь метод setLayoutPrarms. – PankajAndroid

-3

привет попробовать эти строки, чтобы установить ширину и высоту ImageView

image_view.getLayoutParams().height = 20; 

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

извините yar pls прочитал мое сообщение сначала, я собираюсь установить размер изображения для удаленного просмотра не только макет imageivew pls, прочитайте его. – PankajAndroid

+0

проверьте эту документацию о удаленном представлении 'http: // developer.android.com/reference/android/widget/RemoteViews.html # addView% 28int,% 20android.widget.RemoteViews% 29' – androidgeek

-4

Это должно работать!

image.getLayoutParams().height = 90;

+0

, что ваш ответ добавляет, например, к один из androidgeek? – joaquin