如何为电视设置任何布局(宽度,高度)?
问题描述:
我正在创建一个在Logitech revue上运行的应用程序。用户界面显示在电视屏幕上。如何为电视设置任何布局(宽度,高度)?
使用模拟器运行时布局看起来很好。但是当它显示在电视屏幕上时,部分内容会被切断。
如何调整:
- 的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>
答
设置固定值可能会导致您的视图出现问题。防爆。如果你有一个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>
我删除了,你有,因为它基本上是无用
答
这应该做的伎俩:
android:layout_width="MATCH_PARENT"
android:layout_height="MATCH_PARENT"
重新检查你的完整布局有布局PARAMS设置为“WRAP_CONTENT”视图的父母。这些会搞砸你的布局。
+0
这适用于所有视图还是仅适用于最顶层视图?请看看我上面发布的xml。 – Fabii 2012-03-21 20:38:29
后的XML为你的布局,所以我们可以看看一切 – dymmeh 2012-03-21 20:26:34
的FrameLayout里@ dophie。我发布了xml – Fabii 2012-03-21 20:36:32
看看我的答案,看看它是否有帮助。 – dymmeh 2012-03-21 20:50:38