如何设置电视的任何布局(宽度,高度)?

时间:2012-03-21 20:24:38

标签: android android-layout layout

我正在创建一个在罗技版本上运行的应用。用户界面显示在电视屏幕上。

使用模拟器运行时,布局看起来很好。但是当它在电视屏幕上显示时,部分内容会被切断。

如何调整:

  • android:layout_width
  • 机器人:layout_height

这样无论尺寸大小都适合屏幕? fill-parent和wrap_content似乎没有解决这个问题。

如果可能,您可以指导我一些资源或提供一个例子吗?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <GridView
        android:id="@+id/propGridView"
        android:layout_width="619dp"
        android:layout_height="487dp"
        android:layout_gravity="center_vertical"
        android:numColumns="5"
        android:paddingTop="20dp" >
    </GridView>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="380dp"
        android:layout_height="508dp"
        android:layout_gravity="center"
        android:orientation="vertical" >

        <FrameLayout
            android:id="@+id/frameLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center" >

            <ImageView
                android:id="@+id/propertyThumbnail"
                android:layout_width="match_parent"
                android:layout_height="280dp"
                android:layout_weight="0.10"
                android:paddingTop="20dp"
                android:src="@drawable/wow" />
        </FrameLayout>

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:paddingTop="5dp"
            android:text="Title"
            android:textSize="20dp" />

        <TextView
            android:id="@+id/description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="Description"
            android:textSize="10dp" />
    </LinearLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:2)

设置固定值可能会导致视图出现问题。防爆。如果您有一个视图,其中200dip为宽度,另一个视图为400dip,屏幕支持的宽度为500dip,您将在视图中切断视图。

考虑使用权重作为宽度。如果您提供一个权重为.6而另一个视图为.4的视图,则第一个视图占据屏幕的60%,另一个占40%。这样可以防止您将其他视图推离屏幕。

我修改了你的XML来说明它的用法

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <GridView
        android:id="@+id/propGridView"
        android:layout_width="0dip"
        android:layout_weight=".6"
        android:layout_height="match_parent"
        android:layout_gravity="center_vertical"
        android:numColumns="5"
        android:paddingTop="20dp" >
    </GridView>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="0dip"
        android:layout_weight=".4"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/propertyThumbnail"
            android:layout_width="match_parent"
            android:layout_height="280dp"
            android:layout_weight="0.10"
            android:paddingTop="20dp"
            android:src="@drawable/icon" />

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:paddingTop="5dp"
            android:text="Title"
            android:textSize="20dp" />

        <TextView
            android:id="@+id/description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:text="Description"
            android:textSize="10dp" />
    </LinearLayout>

</LinearLayout>

我删除了你所拥有的FrameLayout,因为它基本上没用了

答案 1 :(得分:0)

这应该可以解决问题:

android:layout_width="MATCH_PARENT"
android:layout_height="MATCH_PARENT"

重新检查布局参数设置为“WRAP_CONTENT”的视图父级的完整布局。这些会搞砸你的布局。