我在android的表格布局中有五个按钮位于屏幕底部。 我想在android的所有屏幕中显示所有这些按钮相同(高度应该看起来正确),以下是xml文件中的代码,但是问题是按钮高度看起来在htc one和samsung s4中拉伸。如何解决这个问题。
<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:orientation="horizontal"
android:background="#3F689C"
android:weightSum="5" >
<TableRow
android:id="@+id/tableRow1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_home"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/home" />
<Button
android:id="@+id/btn_contact_us"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/contact_us_1" />
<Button
android:id="@+id/btn_about_us"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/about_us_1" />
<Button
android:id="@+id/btn_notification"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/notification" />
<Button
android:id="@+id/btn_setting"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_weight="1"
android:background="@drawable/setting" />
</TableRow>
</TableLayout>
答案 0 :(得分:0)
试试这个。您需要将布局作为相对布局的子项。
<?xml version="1.0" encoding="UTF-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/menu_layout" >
<android.support.v4.view.PagerTabStrip
android:id="@+id/interactive_title_tabs"
style="@style/PagerTitleStrip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="top" />
</android.support.v4.view.ViewPager>
<LinearLayout
android:id="@id/menu_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@color/grey_menu_backgroud"
android:orientation="horizontal" >
<Button
android:id="@+id/send_data_menu_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/custom_menu_button"
android:text="@string/send_data" />
<Button
android:id="@+id/sync_menu_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/custom_menu_button"
android:text="@string/check_for_cmd" />
<Button
android:id="@+id/apps_menu_button"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/custom_menu_button"
android:text="@string/app_store" />
</LinearLayout>
</RelativeLayout>
答案 1 :(得分:0)
我认为你需要的是创建支持多种屏幕尺寸的按钮。
请浏览this链接,该链接可为您提供足够的信息。
通常Android设备屏幕分为四类。
xlarge 屏幕至少为960dp x 720dp
大屏幕至少为640dp x 480dp
正常屏幕至少为470dp x 320dp
小屏幕至少为426dp x 320dp
因此,如果您想将应用程序设计为支持所有这些屏幕尺寸,那么您需要四个单独的布局文件。
那是
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-small/my_layout.xml // layout for small screen size
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation
您可以为不同的屏幕提供不同的宽度和高度。
android系统会自动选择合适的布局。
希望它有所帮助。
答案 2 :(得分:0)
使用9张图片,因此您可以调整图像的唯一区域,这些区域将被拉伸或不拉伸。 请查看此处获取更多信息。 http://developer.android.com/tools/help/draw9patch.html