我有两个<TableLayout>
<TableRow>
。第一行包含两个按钮(这样可以正常工作),第二行包含<FrameLayout>
,其中包含<ImageView>
。我的问题是,在我将图片加载到TableRow
之前,第二个FrameLayout
(和ImageView
)才会出现。我希望FrameLayout
始终可见(带有背景颜色)。
我在android:layout_width="match_parent"
和android:layout_height="match_parent"
中使用了<ImageView>
和<FrameLayout>
,但似乎没有帮助。
这是布局xml:
<TableLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="5dp"
android:stretchColumns="1">
<TableRow>
<Button
android:id="@+id/buttonLoadPhoto"
android:text="Load..."
android:textSize="20sp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:id="@+id/buttonPrintPhoto"
android:text="Print..."
android:textSize="20sp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</TableRow>
<TableRow
android:background="#FF4422">
<FrameLayout
android:id="@+id/frameLayoutPhoto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#303030">
<ImageView
android:id="@+id/imageViewPhoto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="matrix">
</ImageView>
</FrameLayout>
</TableRow>
</TableLayout>
注意1:我为违规<TableRow>
添加了背景颜色,因此我可以将问题缩小到TableRow
而不是ImageView
(TableRow
的背景颜色没有显示出来。
注意2:这是加载到Activity
<TabHost>
的{{1}}的布局,以防万一。
注3:我的目标是Android 2.2,我正在使用Xoom进行测试。
基本上,我希望<FrameLayout>
占用标签中的剩余空间。有没有其他方法可以做到这一点?
谢谢!
答案 0 :(得分:0)
documentation表示layout_height应该是WRAP_CONTENT,宽度应该是MATCH_PARENT,并且您不需要指定它们,因为它无论如何都会强制执行它。我不确定你是否在尝试调试时添加了这些内容。
编辑(此行不正确,但在评论中提及时仍保留在此处):您还可以尝试为TableRow设置高度,因为没有提供高度和内部的内容在图像出现之前没有高度。
答案 1 :(得分:0)
我找到了使用<LinearLayout>
的替代解决方案:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingTop="5dp">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/buttonLoadPhoto"
android:text="Load..."
android:textSize="20sp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
<Button
android:id="@+id/buttonPrintPhoto"
android:text="Print..."
android:textSize="20sp"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<FrameLayout
android:id="@+id/frameLayoutPhoto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#303030">
<ImageView
android:id="@+id/imageViewPhoto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="matrix">
</ImageView>
</FrameLayout>
</LinearLayout>