私には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);
xmlレイアウトを使用している場合。あなたが問題を指摘できるように、それを私たちに伝えてください。 – san