2010-04-11 3 views
9

Ich möchte ImageView mit Gravity oder Margen zu FrameLayout hinzufügen. aber FramLayout und ImageView haben keine Methode (das kann ich eigentlich nicht finden). Der Grund für die Auswahl von Framelayout besteht darin, ImageView auf ImageView zu setzen.Wie wird die Schwerkraft (oder Ränder) von ImageView mit Code festgelegt?

Hilf mir PLZ. Es ist ein Notfall für mich, eine Lösung zu finden.

thx.

Unten ist mein Code, die helfen, meine Frage zu verstehen.

FrameLayout imageFrame = new FrameLayout(mContext); 
imageFrame.setLayoutParams(new GridView.LayoutParams(158, 158)); 

ImageView frame = new ImageView(mContext); 
frame = new ImageView(mContext); 
frame.setLayoutParams(new LayoutParams(158, 158)); 
frame.setScaleType(ImageView.ScaleType.CENTER_CROP); 
frame.setImageResource(R.drawable.image_frame_n); 

ImageView image = new ImageView(mContext); 
image.setLayoutParams(new LayoutParams(148, 148)); 
image.setScaleType(ImageView.ScaleType.CENTER_CROP); 
image.setImageResource(mThumbIds[position]); 
// image is needed to have a margin or gravity to be positioned at center of imageFrame 

imageFrame.addView(image); 
imageFrame.addView(frame); 

Antwort

17

Versuchen:

image.setLayoutParams(new FrameLayout.LayoutParams(width, height, gravity)); 

Weitere Informationen:

http://developer.android.com/reference/android/widget/FrameLayout.LayoutParams.html

+0

FrameLayout unter anderem eine setMargins Methode hat. – drawnonward

+0

Diese Methode, die ein SetMargins hat, funktioniert nicht in meinem Code T^T. Und ich habe oben Code angewendet, aber es entspricht nicht meiner Erwartung. also benutze ich einen anderen Weg. (framelayout (Bildansicht, talbelayout (Bildansicht))); TableLayout hat eine Auffüllung. furchtbar! – Mastojun

Verwandte Themen