我需要通过Java代码为我的Android应用程序实现对话框,因此无法使用XML。
我有一个根LinearLayout
,我在其中实现了范围查找条,然后我在根布局下面有另一个水平方向的LinearLayout
,我想在同一行中添加两个按钮。因此,我需要将重量设置为1,宽度设置为FILL_PARENT
,高度设置为WRAP_CONTENT
。
我如何通过Java代码实现这个功能?
我需要通过Java代码为我的Android应用程序实现对话框,因此无法使用XML。
我有一个根LinearLayout
,我在其中实现了范围查找条,然后我在根布局下面有另一个水平方向的LinearLayout
,我想在同一行中添加两个按钮。因此,我需要将重量设置为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);
我不确定您想设置布局参数的是哪个视图。我只是假设了范围拖动条以展示一个例子。如果需要,请更改。
在使用布局参数时,始终使用根参数类型...
例如,如果您想要在RelativeLayout
中对View
应用参数,请使用RelativeLayout.LayoutParams
。
LayoutParams param = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT, 1.0f);
1.0f 是权重
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);
更简单的方法:
public static void setLayoutWeight(View view , float weight)
{
((LinearLayout.LayoutParams) view.getLayoutParams()).weight = weight;
view.requestLayout();
}