2016-08-11 4 views
5

Ich habe Bild setzen auf RechtsTop von textview programmatisch. Aber seine Einstellung auf der linken Seite textview. Kann mir jemand sagen, wie ich damit umgehen soll? Mein Code ist unten:Set Imageview auf der rechten Seite oben auf Textview programmatisch

FrameLayout frameLayout = KaHOUtility.generateFrameLayout(mContext); 
       frameLayout.setPadding(5, 5, 5, 5); 
       LinearLayout linearLayout = KaHOUtility.generateLinearLayout(mContext); 
       KaHOTextView textView = KaHOUtility.generatePanelHeadingTextViews(mContext); 
       textView.setText(name); 
       linearLayout.addView(textView); 
       frameLayout.addView(linearLayout); 
       ImageView imageView = KaHOUtility.generateImageView(mContext, 15, 15, R.drawable.cancel_mark); 
       LinearLayout.LayoutParams rPrams = new LinearLayout.LayoutParams(
         LinearLayout.LayoutParams.WRAP_CONTENT, 
         LinearLayout.LayoutParams.WRAP_CONTENT); 
       rPrams.gravity = Gravity.RIGHT|Gravity.TOP ; 
       imageView.setLayoutParams(rPrams); 
       frameLayout.addView(imageView); 

Antwort

3

Sie erstellen Layout params aus der LinearLayout.LayoutParams Klasse. Die Bildansicht wird jedoch zu einer FrameLayout hinzugefügt. Das ist falsch, da Sie nur die Layoutparameter des direkten übergeordneten Elements auf einer Ansicht anwenden. Also, in Ihrem Fall sollte es sein:

ImageView imageView = KaHOUtility.generateImageView(mContext, 15, 15, R.drawable.cancel_mark); 
FrameLayout.LayoutParams rPrams = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT, 
FrameLayout.LayoutParams.WRAP_CONTENT); 
rPrams.gravity = Gravity.RIGHT | Gravity.TOP ; 
imageView.setLayoutParams(rPrams); 
frameLayout.addView(imageView); 
+0

vielen Dank bro..its arbeiten –

Verwandte Themen