ฉันยังใหม่กับการพัฒนา Android และมีคำถามเกี่ยวกับการกำหนดน้ำหนักในเลย์เอาต์เชิงเส้น
ฉันกำลังพยายามสร้างแถวที่มีปุ่มกำหนดเองสองปุ่มและข้อความแก้ไขแบบกำหนดเอง ข้อความแก้ไขควรใช้พื้นที่มากพอ ๆ กับเนื้อหาและปุ่มทั้งสองควรขยายในแนวนอนเพื่อเติมเต็มพื้นที่ว่างที่เหลือในแถว แบบนี้...
| [#Button++#] [#Button--#] [et] |
หลังจากพยายามหลายครั้งนี่เป็นสิ่งที่ใกล้เคียงที่สุดที่ฉันจะได้รับสิ่งที่ต้องการแม้ว่ามันจะดูซับซ้อนเกินไปก็ตาม
| [Button] [Button] [###ET###] |
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal|center_vertical"
android:layout_weight="1"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal|center_vertical"
>
<RelativeLayout
android:id="@+id/btn_plus_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageButton
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/btn_plus"
android:background="@drawable/btn"
android:layout_centerInParent="true"
></ImageButton>
<TextView
android:textColor="#FAFAF4"
android:id="@+id/tv_dice_plus"
android:text="@string/tv_plus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
></TextView>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal|center_vertical"
>
<RelativeLayout
android:id="@+id/btn_minus_container"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageButton
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:id="@+id/btn_minus"
android:background="@drawable/btn"
android:layout_centerInParent="true"
></ImageButton>
<TextView
android:textColor="#FAFAF4"
android:id="@+id/btn_minus"
android:text="@string/tv_minus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
></TextView>
</RelativeLayout>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal|center_vertical"
>
<EditText
android:textColor="#FAFAF4"
android:text="@string/et_output"
android:id="@+id/et_output"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:selectAllOnFocus="true"
android:minWidth="50sp"
android:maxWidth="50sp"
android:background="@drawable/tv_black_background3"
android:textColorHighlight="#c30505"
></EditText>
</LinearLayout>
</LinearLayout>
ตามที่ฉันเข้าใจการตั้งค่า [android: layout_weight = "2"] สำหรับเลย์เอาต์เชิงเส้นที่ถือปุ่มควรทำให้ใช้พื้นที่มากกว่าข้อความแก้ไข แต่จะตรงกันข้ามกับฉันทำให้ทั้งสองมีขนาดเล็กลงครึ่งหนึ่ง
| [Btn] [Btn] [#####et#####] |
ฉันได้ลองชุดต่างๆมากมายจนแทบจำไม่ได้และไม่มีเลย