2010-04-11 5 views
9

Desidero aggiungere ImageView a FrameLayout con Gravity o margini. ma FramLayout e ImageView non hanno alcun metodo su questo (in realtà, non riesco a trovarlo). Motivo che seleziona Framelayout consiste nel mettere ImageView su ImageView.Come impostare la gravità (oi margini) di ImageView utilizzando il codice?

Aiutami, prego. Per me è d'urgenza trovare una soluzione.

thx.

Di seguito è riportato il mio codice che aiuta a comprendere la mia domanda.

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

risposta

17

Prova:

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

Maggiori informazioni:

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

+0

FrameLayout, tra gli altri, ha un metodo SetMargins. – drawnonward

+0

Quella strega metodo ha un setMargins non funziona nel mio codice T^T. E ho applicato il codice sopra, ma non corrisponde alle mie aspettative. quindi uso un modo diverso. (framelayout (imageview, talbelayout (imageview))); tablelayout ha un padding. terribile! – Mastojun

Problemi correlati