ฉันกำลังพยายามสร้างมุมมองที่กำหนดเองซึ่งจะแทนที่เค้าโครงบางอย่างที่ฉันใช้ในหลาย ๆ ที่ แต่ฉันกำลังดิ้นรนที่จะทำเช่นนั้น
โดยทั่วไปฉันต้องการแทนที่สิ่งนี้:
<RelativeLayout
android:id="@+id/dolphinLine"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/background_box_light_blue"
android:padding="10dip"
android:layout_margin="10dip">
<TextView
android:id="@+id/dolphinTitle"
android:layout_width="200dip"
android:layout_height="100dip"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dip"
android:text="@string/my_title"
android:textSize="30dip"
android:textStyle="bold"
android:textColor="#2E4C71"
android:gravity="center"/>
<Button
android:id="@+id/dolphinMinusButton"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_toRightOf="@+id/dolphinTitle"
android:layout_marginLeft="30dip"
android:text="@string/minus_button"
android:textSize="70dip"
android:textStyle="bold"
android:gravity="center"
android:layout_marginTop="1dip"
android:background="@drawable/button_blue_square_selector"
android:textColor="#FFFFFF"
android:onClick="onClick"/>
<TextView
android:id="@+id/dolphinValue"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_marginLeft="15dip"
android:background="@android:drawable/editbox_background"
android:layout_toRightOf="@+id/dolphinMinusButton"
android:text="0"
android:textColor="#2E4C71"
android:textSize="50dip"
android:gravity="center"
android:textStyle="bold"
android:inputType="none"/>
<Button
android:id="@+id/dolphinPlusButton"
android:layout_width="100dip"
android:layout_height="100dip"
android:layout_toRightOf="@+id/dolphinValue"
android:layout_marginLeft="15dip"
android:text="@string/plus_button"
android:textSize="70dip"
android:textStyle="bold"
android:gravity="center"
android:layout_marginTop="1dip"
android:background="@drawable/button_blue_square_selector"
android:textColor="#FFFFFF"
android:onClick="onClick"/>
</RelativeLayout>
โดยสิ่งนี้:
<view class="com.example.MyQuantityBox"
android:id="@+id/dolphinBox"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:myCustomAttribute="@string/my_title"/>
ดังนั้นฉันไม่ต้องการเค้าโครงที่กำหนดเองฉันต้องการมุมมองแบบกำหนดเอง (ไม่ควรเป็นไปได้ที่มุมมองนี้จะมีลูก)
สิ่งเดียวที่สามารถเปลี่ยนจาก MyQuantityBox อินสแตนซ์หนึ่งไปเป็นอีกรายการคือชื่อ ฉันอยากจะระบุสิ่งนี้ใน XML เป็นอย่างมาก (เหมือนที่ฉันทำในบรรทัด XML สุดท้าย)
ฉันจะทำเช่นนี้ได้อย่างไร? ฉันควรใส่ RelativeLayout ในไฟล์ XML ใน / res / layout และขยายในคลาส MyBoxQuantity หรือไม่ ถ้าใช่ฉันจะทำอย่างไร?
ขอบคุณ!