Java コードを使用して Android アプリのダイアログを実装する必要があるため、XML を使用できません。
LinearLayout
範囲シークバーを実装するルートがあり、次にLinearLayout
ルートレイアウトの下に水平方向の別のレイアウトがあり、同じ行に2つのボタンを追加します。したがって、重みを 1 に設定し、幅FILL_PARENT
と高さをに設定する必要がありWRAP_CONTENT
ます。
Javaコードでそれを行うにはどうすればよいですか?
Java コードを使用して Android アプリのダイアログを実装する必要があるため、XML を使用できません。
LinearLayout
範囲シークバーを実装するルートがあり、次にLinearLayout
ルートレイアウトの下に水平方向の別のレイアウトがあり、同じ行に2つのボタンを追加します。したがって、重みを 1 に設定し、幅FILL_PARENT
と高さをに設定する必要がありWRAP_CONTENT
ます。
Javaコードでそれを行うにはどうすればよいですか?
LinearLayout.LayoutParams p = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
p.weight = 1;
rangeSeekBar.setLayoutParams(p);
レイアウト パラメータを設定するビューがわかりません。例を示すために rangeSeekbar を仮定しました。必要に応じて変更してください。
レイアウト パラメータを使用する場合は、常にルートのパラメータ タイプを使用してください。
元。使用View
中にパラメータを適用したい場合..RelativeLayout
RelativeLayout.LayoutParams
LinearLayout.LayoutParams コンストラクターの一部として渡すことができます。
LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT, 1.0f);
1.0f は重みです
XML を使用する必要はありませんか? そうでない場合は、常に XML でレイアウトをLayoutInflater
構築し、実行時に を使用してビュー階層を構築し、それをsetView()
ダイアログに渡すことができます。
例えば:
LayoutInflater inflater = LayoutInflater.from(getActivity());
View v = inflater.inflate(R.layout.my_dialog_layout, null);
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setView(v);