【发布时间】:2019-08-05 05:31:30
【问题描述】:
我已经创建了一个名为 ProgressButton 的类,它扩展了 RelativeLayout。现在我在主 xml 中添加了这个类:
<com.tazik.progressbutton.ProgressButton
android:id="@+id/pb_button"
android:layout_width="200dp"
android:layout_height="wrap_content"/>
如您所见,我添加了android:layout_width="200dp",现在在 ProgressButton 类中,我想获得这个大小来创建一个具有这个大小的按钮:
public class ProgressButton extends RelativeLayout {
private AppCompatButton button;
public ProgressButton(Context context) {
super(context);
initView();
}
private void initView() {
initButton();
}
private void initButton() {
button = new AppCompatButton(getContext());
LayoutParams button_params = new LayoutParams(????, ViewGroup.LayoutParams.WRAP_CONTENT);
button_params.addRule(RelativeLayout.CENTER_IN_PARENT,RelativeLayout.TRUE);
button.setLayoutParams(button_params);
button.setText("click");
addView(button);
}
我想根据 relativeLayout 的大小创建按钮,那么如何在我的自定义视图中获取 layout_width 来设置button_params width?
【问题讨论】:
-
使用
MATCH_PARENT作为宽度参数还不够吗? -
我没有使用
MATCH_PARENT!!老兄@MikeM。 -
我不确定你的意思。我只是问为什么在
LayoutParams构造函数调用中使用ViewGroup.LayoutParams.MATCH_PARENT作为第一个参数不符合您的要求。 -
你试过改变尺寸的方法吗?
标签: android android-custom-view