我正在创建一个在罗技版本上运行的应用。用户界面显示在电视屏幕上。
使用模拟器运行时,布局看起来很好。但是当它在电视屏幕上显示时,部分内容会被切断。
如何调整:
这样无论尺寸大小都适合屏幕? 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>
答案 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”的视图父级的完整布局。这些会搞砸你的布局。