Android 以编程方式将imageview设置在textview的右上方
我必须以编程方式将图像设置在Android 以编程方式将imageview设置在textview的右上方,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我必须以编程方式将图像设置在textview的右侧顶部。但是它的设置在文本视图的左侧。有人能告诉我怎么处理吗? 我的代码如下: FrameLayout frameLayout = KaHOUtility.generateFrameLayout(mContext); frameLayout.setPadding(5, 5, 5, 5); LinearLayout linearLayout = KaHOUtility.generat
textview
的右侧顶部。但是它的设置在文本视图的左侧。有人能告诉我怎么处理吗?
我的代码如下:
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);
您正在从LinearLayout.LayoutParams
类创建布局参数。但是,正在将imageview添加到框架布局
。这是不正确的,因为您仅将直接父级的布局参数应用于视图。因此,在您的情况下,应该是:
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);