2013-03-02 12 views
10

Używam poniższego kodu do ustawienia obrazu w widoku obrazu widżetu za pomocą zdalnego widoku Teraz chcę ustawić wysokość i szerokość na środowisko wykonawcze imageview.Ustaw programowo szerokość i wysokość ImageView na widżecie

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

Odpowiedz

15

Można wybrać układ Params progrematiclly ten sposób:

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

lub ustawić numer zamiast.

manipulacja Rozmiar obrazu czasami może trudne i zaleca się najpierw dostać params układu obrazu, zmieniać go i ustawić ją z powrotem:

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

i jeśli nadal masz problem, aby zmienić jego rozmiar spróbować go umieścić wewnątrz LinearLayout i manipulować rozmiar ImageView użyciu params układ:

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

Aktualizacja: następujące stanowiska powinny pomóc Ci to, czego potrzebujesz:

RemoteViews setLayoutParams?

http://pastebin.com/As3L8xWu

+0

dzięki za odpowiedź, ale to się zmieni szerokość ImageView heigth Używam ImageView ale w widget, więc nie mają bezpośredniego dostępu ImageView musimy użyć RemoteView jak u można zobaczyć w moim poście miałem ustawiony czas podtrzymania obrazu teraz w ten sposób chcę ustawić szerokość wysokości w widoku remot. – PankajAndroid

+0

zobacz zaktualizowaną odpowiedź. –

+0

u r seeting układu widoków obrazu, podczas gdy w widgecie nie można go ustawić, musisz mieć do użytkownika remotivew i remotview donsnt mieć metodę setLayoutPrarms. – PankajAndroid

-3

hi spróbować tych linii, aby ustawić szerokość i wysokość ImageView

image_view.getLayoutParams().height = 20; 

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

Przepraszam, Yar pls przeczytać mój post pierwszy mam zamiar ustawić widok viewview zdalnego widzenia nie tylko układ imageivew pls przeczytać. – PankajAndroid

+0

sprawdź tę dokumentację na temat widoku zdalnego 'http: // developer.android.com/reference/android/widget/RemoteViews.html # addView% 28int,% 20android.widget.RemoteViews% 29' – androidgeek

-4

To powinno działać!

image.getLayoutParams().height = 90;

+0

co Twoja odpowiedź dodaje na przykład jeden z androidgeek? – joaquin

Powiązane problemy