我有一个自定义视图在切换按钮内绘制,但当一个膨胀布局我看不到任何东西.. 我把一个linearlayout作为根视图,在里面我设置了我需要的元素。 这是我的代码: 用于实例化根视图()
的根类public abstract class ReplyView extends LinearLayout {
public ReplyView(Context context) {
super(context);
init(context);
}
public ReplyView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}
public ReplyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init(context);
}
public void init(Context context) {
setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
initializeComponents();
}
public abstract void initializeComponents();
public abstract String getResult();
}
我自定义此类的实现:
public class YesNoReplyView extends ReplyView {
private ToggleButton toggleButton;
public YesNoReplyView(Context context) {
super(context);
}
public YesNoReplyView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public YesNoReplyView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void initializeComponents() {
toggleButton = new ToggleButton(getContext());
toggleButton.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT));
toggleButton.setTextOn("Si");
toggleButton.setTextOn("No");
toggleButton.setBackground(getContext().getResources().getDrawable(R.drawable.selector_toggle));
addView(toggleButton, new LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
}
@Override
public String getResult() {
String result = toggleButton.isChecked() ? "Si" : "No";
return result;
}
}
问题是什么?我看到每个元素都是可见的......