0

私にはLinearLayoutクラスがあります:TexView | ImageView | EditText | ImageView。私は最後のImageViewをLinearLayoutの右端までずっと巻き込んでいます.EditTextは非常に長く実行され、場合によっては最後のImageViewをビューから外してしまいます。 EditTextを全幅のパーセンテージに設定したいと思います。私はLinearLayoutのパラメータでウェイトを使用しようとしましたが、それはビューが邪魔にならないように思われます。ここで例えば、それはのEditTextのためである:EditTextをLinearLayoutの親の幅のパーセンテージに設定します。

LinearLayout.LayoutParams lpEt = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.FILL_PARENT, 
                      LinearLayout.LayoutParams.WRAP_CONTENT, 
                      .50f); 

他のすべてのビューには追随するが、あまりの重み(0.2、0.2、0.1)を持っており、それらはすべて1.0まで追加します。しかし、LinearLayout行は決して正しく配置されません。

親の幅(ListView)を見つけて、親の幅に基づいて明示的にEditTextの幅を設定するか、より良い方法がありますか?


これはその横を推測あなたのリニアレイアウト方向がわからなく、イムイムblessenmによって


//Text 
     addView(mtextNum, new LinearLayout.LayoutParams(
          LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
     //ImageView 
     LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 

     //edit Text: 
    LinearLayout.LayoutParams lpEditText = new LinearLayout.LayoutParams(0,LayoutParams.WRAP_CONTENT,(float)1.0f); 

    //ImageView 
LinearLayout.LayoutParams ll_params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, 
                         LinearLayout.LayoutParams.WRAP_CONTENT); 
+0

xmlレイアウトを使用している場合。あなたが問題を指摘できるように、それを私たちに伝えてください。 – san

答えて

1

を提供しませ回答に基づいて、働いていたものです。もしそうなら、これを試してください。

LayoutParams textViewParams = new LayoutParams(LayoutParams.WRAP_CONTENT, 
     LayoutParams.WRAP_CONTENT); 
textView.setLayoutParams(textViewParams); 
LinearLayout.LayoutParams editTextParams = new LinearLayout.LayoutParams(
     0,LayoutParams.WRAP_CONTENT,1f); 
editText.setLayoutParams(editTextParams); 
LayoutParams imageViewParams = new LayoutParams(LayoutParams.WRAP_CONTENT, 
     LayoutParams.WRAP_CONTENT); 
imageView.setLayoutParams(imageViewParams); 

これは、textviewとimageviewの間の残りのスペースを埋めるように編集テキストを作成します。他に何かが必要な場合は、コードを少し変更してください。体重を使用する場合、体重を設定する体重または身長を0に設定します。

+0

ありがとうございますが、残念ながらうまくいきませんでした。あなたの提案に基づいて投稿を編集しました。 – Mike6679

+0

私はそれを取り戻しました。今度は、最後のLinearLayoutパラメータをFILL_PARENTではなくWRAP_CONTENTに変更したので、今は機能しました。ありがとうblessenm! – Mike6679

関連する問題