2017-04-18 34 views
0

私は、RelativeLayoutを使用してプログラムの隣にいくつかの編集テキストを作成しています。各編集テキストのデフォルトの幅はwrap_contentですが、編集テキストが画面の端に達すると視覚的にサイズが変わります。どうすればこのようなことが起こるのか、次の行に移すことができますか?アンドロイドで編集テキストの位置をプログラムで変更するにはどうすればよいですか?

private EditText createEditText(EditText editText1, EditText editText2, String word){ 
    RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(
      editText.getLayoutParams().width, 
      editText.getLayoutParams().height 
    ); 

    layoutParams.addRule(RelativeLayout.RIGHT_OF, editText1.getId()); 
    layoutParams.addRule(RelativeLayout.BELOW, textView.getId()); 

    layoutParams.leftMargin += 60; 
    editText2.setHint("" + word); 
    editText2.setHintTextColor(editText.getSolidColor()); 
    editText2.setBackgroundResource(R.drawable.rounded_edittext); 
    editText2.setLayoutParams(layoutParams); 
    editText2.setPadding(editText.getPaddingLeft(), editText.getPaddingTop(), editText.getPaddingRight(), editText.getPaddingBottom()); 
    editText2.setId(View.generateViewId()); 

    relativeLayout.addView(editText2); 

    return editText2; 
} 
+0

使用のLinearLayoutにFlowLayoutのRelativeLayoutを置き換えるためにあなたを要求しますこのような大きな紛争に行きます。 – Sergey

+0

@Sergey、しかし私は私のプロジェクトでRelativeLayoutが必要です... –

+0

私はRelativeLayoutを使用して、あなたが望むものを達成するとは思わない、bczルールRelativeLayout.BELOWを見て、それは常にあなたのTextViewの下になります。 – Sergey

答えて

0

お試しください。それがうまくいくかどうかはわかりません。 あなたができることは、onCreateで画面の幅を計算し、ビューがそれを超えているかどうかを確認することです。 正直な線形レイアウトは、ウェイトプロパティを使用して維持しやすくなります。

1

アンドロイドでFlowLayoutを試し、ダイナミックにテキストビューを膨張させます。

代わりに、各行に固定数の子供を持つLinearlayoutを使用できます。これを行う場合、子供は同じlayout_weightを持つ必要があります。

しかし、ではなく、私は単純に水平方向の代わりに、RelativeLayoutとアンドロイド

関連する問題