Android定义自定义组视图

时间:2014-09-04 11:56:08

标签: android xml android-layout android-custom-view custom-view

我正在实现拨号屏幕,我想将键盘设为自定义视图(以便我可以根据需要将其直接嵌入其他UI中)

我已经定义了一个布局xml文件keypad.xml,所以我至少可以在我的拨号器屏幕上显示键盘。我想知道是否有可能以编程方式将其作为KeypadView类(使用keypad.xml布局),这样当我再次需要相同的布局时,我可以通过调用来嵌入它

<com.example.KeypadView ..></com.example.KeypadView>

[索赔!!!]我确实在creating custom views上阅读了android教程。它使用自定义绘图..我不希望它如此复杂......我已经在keypad.xml中定义了一个模板我想在我的KeypadView.java中使用该布局,而且,我想检测onTapKey事件在KeypadView类中,并使用侦听器接口将事件传递给想要处理它的人..

this exmaple

这样的东西

1 个答案:

答案 0 :(得分:1)

你可以在android中只使用xml来实现。首先,您创建自定义布局,例如keypad.xml。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 
android:layout_width=”match_parent”
android:layout_height=”match_parent”
  

........

现在,您可以使用关键字include在任意位置使用上述自定义视图。 例如,在您的dialer.xml中,您可以执行以下操作:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 
android:layout_width=”match_parent”
android:layout_height=”match_parent”>

<include layout="@layout/keypad"/>

<TextView android:layout_width=”match_parent”
          android:layout_height="wrap_content"
          android:text="@string/your_no"
          android:padding="10dp" />

...