2012-01-06 2 views

ответ

23

У вас нет. Это не то, что делает линейный макет. Вместо этого используйте RelativeLayout.

XML

<RelativeLayout android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <TextView android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Hello, World!" 
     android:layout_alignParentRight="true"/> 
</RelativeLayout> 

Программным

public void makeView(Context context) { 
    RelativeLayout rl = new RelativeLayout(context); 
    TextView tv = new TextView(context); 
    tv.setText("Hello, World"); 

    RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams 
      (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
    lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); 

    rl.addView(tv, lp); 
} 
+0

ok Как я могу добавить программно TextView в RelativeLayout с выравниванием по правому краю. – androiduser

+0

Я не хочу использовать XML-макет. Я хочу отображать программно, потому что данные являются динамическими. – androiduser

5

Вы можете попробовать это:

ImageView view = (ImageView)findViewById(R.id.imageView); 
LinearLayout.LayoutParams params = (LinearLayout.LayoutParams)view.getLayoutParams(); 
params.gravity = Gravity.LEFT; 

Но вы должны использовать RelativeLayout вместо LinearLayout.

Смежные вопросы