已经坚持了一段时间,并尝试了一些不同的东西。
基本上我已经覆盖了框架布局,为自己创建了一个自定义按钮。框架布局有两个子项,一个按钮和一个包含项目的linearlayout。
问题是我试图让按钮拉伸到框架布局的大小(即填充父级),而它没有这样做。以下是代码,只是询问您是否需要更多详细信息:
public class ReminderButton extends FrameLayout{
private TextView text;
private ImageView video;
private ImageView pdf;
public Button button;
private LinearLayout itemsLayout;
public ReminderButton(Context context, AttributeSet attrs) {
super(context, attrs);
this.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
this.setFocusable(false);
LinearLayout itemsLayout = new LinearLayout(context);
itemsLayout.setOrientation(LinearLayout.HORIZONTAL);
itemsLayout.setFocusable(false);
itemsLayout.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
itemsLayout.setWeightSum(100);
LinearLayout textLayout = new LinearLayout(context);
textLayout.setFocusable(false);
textLayout.setLayoutParams(new LinearLayout.LayoutParams(0,LayoutParams.FILL_PARENT, 80));
textLayout.setGravity(Gravity.CENTER);
text = new TextView(context);
text.setFocusable(false);
text.setTextColor(Color.WHITE);
text.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
text.setPadding(5, 3, 3, 3);
LinearLayout imagesLayout = new LinearLayout(context);
imagesLayout.setOrientation(LinearLayout.VERTICAL);
imagesLayout.setFocusable(false);
imagesLayout.setLayoutParams(new LinearLayout.LayoutParams(0,LayoutParams.FILL_PARENT, 20));
imagesLayout.setGravity(Gravity.CENTER);
video = new ImageView(context);
video.setFocusable(false);
video.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
video.setImageResource(R.drawable.ic_video_small);
pdf = new ImageView(context);
pdf.setFocusable(false);
pdf.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
pdf.setImageResource(R.drawable.ic_pdf_small);
// TODO this doesn't go big enough!
button = new Button(context);
button.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
button.setBackgroundResource(R.drawable.custom_button);
// Add the text to its linear layout
textLayout.addView(text);
// Add the video and pdf icons to the vertical linear layout i.e. below each other
imagesLayout.addView(video);
imagesLayout.addView(pdf);
// Add the text and the layout containing the images to the horizontal linear layout i.e. next to each other
itemsLayout.addView(textLayout);
itemsLayout.addView(imagesLayout);
// Add the items layout and the buttons layout to the frame i.e. on items on top of the button
this.addView(button);
this.addView(itemsLayout);
}
答案 0 :(得分:0)
没有找到答案,但要修复它,我删除了按钮,只是使基本线性布局可点击