【发布时间】:2015-03-03 14:52:20
【问题描述】:
我正在尝试创建一个采用“帖子”形式的视图组,我需要此视图在左上角有一个图像,然后在该帖子的右侧有一个用户名和内容,但我彼此对齐似乎无法让布局移动。它们只是保持重叠。
public ViewGroup generateViewGroup(Context context){
RelativeLayout rl = new RelativeLayout(context);
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
Point p = new Point();
wm.getDefaultDisplay().getSize(p);
TextView tvUsername = new TextView(context);
tvUsername.setText(userName);
TextView tvPostContent = new TextView(context);
tvPostContent.setText(postContent);
ImageView iv = new ImageView(context);
RelativeLayout.LayoutParams lpTvUsername = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lpTvUsername.addRule(RelativeLayout.RIGHT_OF,0);
lpTvUsername.addRule(RelativeLayout.ALIGN_TOP,0);
tvUsername.setLayoutParams(lpTvUsername);
RelativeLayout.LayoutParams lpTvPostContent = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
lpTvPostContent.addRule(RelativeLayout.RIGHT_OF,0);
lpTvPostContent.addRule(RelativeLayout.BELOW,1);
tvPostContent.setLayoutParams(lpTvPostContent);
LayoutParams lp = new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
if (userPic==null) Log.e("generateViewGroup","userPic is null");
iv.setImageDrawable(userPic);
rl.addView(iv, 0);
rl.addView(tvUsername,1);
rl.addView(tvPostContent);
rl.setLayoutParams(lp);
}
【问题讨论】:
-
您不想扩充 XML 的任何具体原因?
-
我试图坚持使用 java,因为我们有许多其他类与这个类(http 请求等)一起工作,所以在 xml 中做到这一点并不容易
标签: java android android-relativelayout