以编程方式在textview的右上角设置imageview

Kar*_*nga 5 android android-layout android-fragments

我必须以编程方式在Right Top上设置图像textview.但它的设置在左侧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);
Run Code Online (Sandbox Code Playgroud)

Sha*_*hav 3

您正在从类创建布局参数LinearLayout.LayoutParams。但是,图像视图正在添加到FrameLayout. 这是不正确的,因为您仅将直接父级的布局参数应用于视图。所以,就你而言,它应该是:

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);
Run Code Online (Sandbox Code Playgroud)