화면 중간에 3 개의 버튼을 표시하고 길이가 다른 텍스트 라벨을 갖지만 3 개의 버튼이 모두 같은 너비가되도록하고 싶습니다.동일한 너비의 단추를 만드는 방법은 무엇입니까?
다른 길이의 텍스트 레이블이있는 3 개의 버튼을 추가하면 다양한 너비의 버튼이 생성됩니다. -
1 layout_weight를하고 모든 버튼에 0dip하는 layout_width 그들이 전체 화면을 채우기 위해 동등하게 스트레칭 원인을 설정
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center">
<Button
android:id="@+id/button_1"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:text="ABCDEF" />
<Button
android:id="@+id/button_2"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:text="GHI" />
<Button
android:id="@+id/button_3"
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:text="JKLM" />
</LinearLayout>
기본 버튼의 폭은 내용을 랩 폭. 내가 원하는 것을 위해, 그러한 버튼은 특히 커다란 스크린에서, 너무 크다. 상위의 LinearLayout에 weightSum 대한 다른 값을 설정
화면 전체를 채우는에서 버튼을 중지하는데 사용될 수있다 -
는 :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center">
<Button
android:id="@+id/button_1"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="ABCDEF" />
<Button
android:id="@+id/button_2"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="GHI" />
<Button
android:id="@+id/button_3"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="JKLM" />
</LinearLayout>
레이아웃 중량 1 버튼을 화면 폭을 채우 그러나 버튼이 대형 화면 장치에서 화면의 많은 부분을 차지하지 않기를 바랄 때 나는 이것이 내가 원하는 길이라고 생각하지 않습니다. 예를 들어, weightSum을 사용하여 세 개의 버튼을 화면 너비의 절반을 집합 적으로 차지하도록 설정할 수 있습니다. 작은 화면에서는 괜찮아 보이지만, 큰 화면에서는 버튼이 화면 너비의 절반을 차지하게됩니다. 버튼은 단순히 내가 원하는 것보다 훨씬 커야합니다. 아마도 최종 해결책은 여러 화면에 서로 다른 레이아웃 파일을 사용하는 것이지만이 방법을 사용하지 않을 것입니다.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="center"
android:weightSum="5">
<Button
android:id="@+id/button_1"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="ABCDEF" />
<Button
android:id="@+id/button_2"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="GHI" />
<Button
android:id="@+id/button_3"
android:layout_height="fill_parent"
android:layout_width="0dip"
android:layout_weight="1"
android:text="JKLM" />
</LinearLayout>
체중 합계 5 작은 화면 :
체중 합계 5 대형 스크린 :
- 나는 또한 TableLayout을 많은 일을했지만, 'didn를
LinearLayout을 사용하는 것보다 나은 것을 얻으십시오.
GridView는 사용하기에 번거롭기 때문에 아직 사용해 보지 않았습니다.
그렇다면 가장 긴 레이블이있는 단추의 내용을 맞추기 위해 필요한 너비가 동일한 위치에서 동일한 너비의 단추를 만드는 방법은 무엇입니까?
모든 조언을 주시면 감사하겠습니다.
방법 사용자 정의 레이아웃을 작성하는 방법에 대한? – bigstones