1

私が持っている LinearLayout クラスがあります。イメージ ビュー | 編集テキスト | イメージ ビュー。最後の ImageView を、ラップされた LinearLayout の右側までずっと揃えたいと思います。現在は、EditText の直後に配置され、右揃えではありません。LinearLayout は ListView 内にあります。右揃えにしたい ImageView の場合、RelativeLayout 内にラップして ALIGN_PARENT_RIGHT に設定します。最後の ImageView を右揃えにするために LinearLayout クラスで試したのは次のとおりです。

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);

私はこのリンクから得ました :AndroidのJavaメソッド:layout_gravity

何か案は?

4

1 に答える 1

1

私はしばらくこれに苦労していたので、これに遭遇した他の人が私の解決策を投稿したかった. setGravity(Gravity.RIGHT) を使用して LinearLayout でイメージをラップし、LinearLayout パラメータの幅に FILL_PARENT を使用しました。

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);
于 2012-01-09T02:48:26.517 に答える