如何创建自定义按钮字段?

时间:2009-12-31 14:04:00

标签: android custom-controls

我想创建一个自定义字段,我可以在其中放置多行文本和图像。 该字段可以像按钮一样使用(onclick事件等)。

2 个答案:

答案 0 :(得分:3)

Thomas建议的内容对您来说已经足够了,但是如果您想创建自己的自定义窗口小部件,可以扩展现有的ViewGroup类 - 例如LinearLayout。您可以通过向扩展的LinearLayout添加想要的视图来制作“复合视图”。请查看下面的示例


public class MyCompositeView extends LinearLayout implements OnClickListener{

   public MyCompositeView(Context context, AttributeSet attrs) {
   mForwardArrow = new ImageButton(context);
   mForwardArrow.setOnClickListener(mOnDownClickListener);

   mBackArrow = new ImageButton(context);
   mBackArrow.setOnClickListener(mOnUpClickListener);

   mFrameSwitcher = new FrameSwitcherView(context, attr_orientation);
   ...

   LayoutParams lp = LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
   addView(mForwardArrow, lp);
   addView(mFrameSwitcher, lp);
   addView(mBackArrow, lp);
   ...

    }
}

您的组件可以实现OnClickListener,因此您可以添加自己的自定义单击侦听器等。这种方法更耗时,但它为您提供了灵活性。
此致!

答案 1 :(得分:2)

Android Button已允许多行文字;它会根据需要自动包装。

至于添加图片,您应该能够使用标准Button,然后使用android:drawableLeft属性设置drawable以在旁边绘制图像(在这种情况下,在左侧) )文本。