我有一个 LinearLayout 类,其中有: TextView |图片查看 |编辑文本 |图片 View 。 我想将最后一个 ImageView 一直对齐到它所包裹的 LinearLayout 的右侧。现在它只是放在 EditText 之后而不是右对齐。 LinearLayout 位于 ListView 内部。对于我想要右对齐的 ImageView,我将它包裹在 RelativeLayout 中并设置:ALIGN_PARENT_RIGHT。这是我在 LinearLayout 类中尝试右对齐最后一个 ImageView 的方法:
public class CheckBoxifiedTextView extends LinearLayout implements OnClickListener
{
////LAYOUT FOR THIS CLASS///////
setLayoutParams(new ListView.LayoutParams(ListView.LayoutParams.FILL_PARENT, ListView.LayoutParams.WRAP_CONTENT));
this.setVerticalGravity(android.view.Gravity.CENTER_VERTICAL);
this.setOrientation(HORIZONTAL);
///////////////////
//ok now add grabber image:
RelativeLayout.LayoutParams lp_imgGrabber = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
lp_imgGrabber.addRule(RelativeLayout.ALIGN_PARENT_RIGHT, RelativeLayout.TRUE);
m_imgGrabber = new ImageView(context);
m_imgGrabber.setImageResource(R.drawable.grabber);
//TypedArray a=context.obtainStyledAttributes(R.styleable.TouchListView);
//int grabberId = a.getResourceId(R.styleable.TouchListView_grabber, -1);
//m_imgGrabber.setId(2131230808);
RelativeLayout rel_layout_temp = new RelativeLayout(context);
rel_layout_temp.setId(2131230808);
rel_layout_temp.addView(m_imgGrabber);
addView(rel_layout_temp,lp_imgGrabber);
}
我也试过:
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(WRAP_CONTENT,WRAP_CONTENT,Gravity.RIGHT | Gravity.CENTER_VERTICAL)
addView(m_imgGrabber,params);
我从这个链接得到的: Java method for android:layout_gravity
有什么想法吗?
最佳答案
我为此苦苦挣扎了一段时间,所以遇到此问题的其他人我想发布我的解决方案。我将图像包裹在 LinearLayout 中:setGravity(Gravity.RIGHT) 并使用 FILL_PARENT 作为 LinearLayout 参数的宽度:
LinearLayout.LayoutParams ll_params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.WRAP_CONTENT);
m_imgGrabber = new ImageView(context);
m_imgGrabber.setImageResource(R.drawable.grabber);
LinearLayout ll = new LinearLayout(context);
ll.setId(2131230808);
ll.setGravity(Gravity.RIGHT);
ll.addView(m_imgGrabber);
addView(ll,ll_params);
关于android - 将动态创建的 RelativeLayout 对齐到 LinearLayout 类中的右侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780681/