2016-08-11 13 views
5

Mam ustawić program na PrawoTop z textview programowo. Ale jego ustawienie na leftside textview. Czy ktoś może mi powiedzieć, jak sobie z tym poradzić? Moje kodu jest poniżej:Ustawianie widoku obrazu w prawym górnym rogu widoku tekstowego programowo

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

Odpowiedz

3

Tworzycie params układ z klasy LinearLayout.LayoutParams. Jednak widok obrazu jest dodawany do FrameLayout. Jest to niepoprawne, ponieważ do widoku są stosowane tylko parametry układu bezpośredniego elementu nadrzędnego. Tak więc w twoim przypadku powinno być:

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

dziękuję za współpracę –

Powiązane problemy