我的布局只是一个小问题,当我在一个较小的设备(如手机)上运行我的应用程序时,在平板电脑上呈现正常。其中一个按钮似乎被其他按钮“挤压”并垂直渲染。
下面是问题区域的截图
我的xml如下。
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="78dp"
android:layout_height="78dp"
android:layout_alignParentTop="true" />
<TextView
android:id="@+id/txtEventNameTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Event Name"
android:textSize="19dp"
android:textStyle="bold"
android:layout_below="@+id/imageView1" />
<TextView
android:id="@+id/txtEventName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp"
android:layout_below="@+id/txtEventNameTitle" />
<TextView
android:id="@+id/txtEventDateTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Event Date"
android:textSize="19dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtEventDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp" />
<TextView
android:id="@+id/txtEventTimeTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Event Time"
android:textSize="19dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtEventTime"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp" />
<TextView
android:id="@+id/txtEventLocationTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Event Location"
android:textSize="19dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtEventLocation"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp" />
<TextView
android:id="@+id/txtEventDetailsTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Event Details"
android:textSize="19dp"
android:textStyle="bold" />
<TextView
android:id="@+id/txtEventDetails"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16dp" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:measureWithLargestChild="true"
android:orientation="horizontal"
>
<Button
android:id="@+id/btnAddToCal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:text="Add to Calendar"
android:layout_weight="1"/>
<Button
android:id="@+id/btnAddToMyEvents"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add to my Events"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:layout_toRightOf="@+id/btnAddToCal"
/>
<Button
android:id="@+id/btnSendToTwitter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Share"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:minWidth="40dp"
/>
<Button
android:id="@+id/btnSendToMaps"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Get directions"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:layout_toRightOf="@+id/btnAddToMyEvents"
/>
</LinearLayout>
<fragment
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="300dp"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_marginBottom="10dp"
/>
</LinearLayout>
</ScrollView>
答案 0 :(得分:2)
更改您的代码,如下所示。您没有设置weightSum
以及将wrap_content
设置为按钮,这是导致按钮显示错误的问题。
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:measureWithLargestChild="true"
android:orientation="horizontal"
android:weightSum="4">
<Button
android:id="@+id/btnAddToCal"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:layout_marginBottom="20dp"
android:text="Add to Calendar"
android:layout_weight="1"/>
<Button
android:id="@+id/btnAddToMyEvents"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Add to my Events"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:layout_toRightOf="@+id/btnAddToCal"
/>
<Button
android:id="@+id/btnSendToTwitter"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Share"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:minWidth="40dp"
/>
<Button
android:id="@+id/btnSendToMaps"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Get directions"
android:layout_marginTop="20dp"
android:layout_weight="1"
android:layout_toRightOf="@+id/btnAddToMyEvents"
/>
</LinearLayout>
答案 1 :(得分:0)
将参数'android:weightSum =“4”'添加到线性布局