视图未在 Android 的相对布局中显示 [重复]
Posted
技术标签:
【中文标题】视图未在 Android 的相对布局中显示 [重复]【英文标题】:View not showing in a relative layout in Android [duplicate] 【发布时间】:2014-06-13 08:50:49 【问题描述】:我已经发布了这个,但我得到了新的信息,可以帮助你帮助我...... 我对这种布局有疑问,我无法找出问题所在。如您所见,相对布局中有一个计时器和一个表格,但计时器没有显示,甚至没有空格。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/firstLayout"
android:layout_
android:layout_
>
<Chronometer
android:id="@+id/chrono"
android:textColor="#4169E1"
android:textSize="20sp"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:text="Chronometer"
/>
<TableLayout
android:id="@+id/parentLayout"
android:layout_
android:layout_
>
</TableLayout>
</RelativeLayout>
所以我尝试更改计时器和表格布局的顺序。我也尝试更改 layout_width 和 layout_height 属性,但我一无所获。所以我去了我的java课,我发现问题可能在这里:
private final void createGameBoard(short gridSize)
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
TableLayout tableLayout;
tableLayout = (TableLayout) findViewById(R.id.parentLayout);
tableLayout.removeAllViews();
board = GameBoard.createGameBoard(this,
bitmap,
tableLayout,
(int) (metrics.widthPixels * metrics.density),
(int) ((metrics.heightPixels * metrics.density)-h1),
gridSize);
GameBoard.createGameBoard 在哪里:
public static GameBoard createGameBoard(Context context,
Bitmap bitmap,
TableLayout parentLayout,
int width,
int height,
short gridSize)
board = new GameBoard(context,
bitmap,
parentLayout,
width,
height,
gridSize);
return board;
所以我猜想显示计时器的问题来自于游戏板的创建,因为从当前窗口获取的指标用于设置游戏板的高度。 有什么建议吗?
【问题讨论】:
您的表格布局正在填充整个 relativeLayout,您将 match_parent 设置为宽度和高度。在 relativeLayout 中,只要您不设置某些参数,视图就会设置在另一个之上。尝试将 android:layout_below="@id/chrono" 设置为 tableLayout。也许您必须从 tableLayout 更改宽度和高度参数 【参考方案1】:您的 xml 代码:
<Chronometer
android:id="@+id/chrono"
android:textColor="#4169E1"
android:textSize="20sp"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:text="Chronometer"
/>
<TableLayout
android:id="@+id/parentLayout"
android:layout_
android:layout_
>
这将强制 TableLayout 全屏显示,因此 Chronometer 被隐藏。
尝试如下更改:
1.)
<Chronometer
android:id="@+id/chrono"
android:textColor="#4169E1"
android:textSize="20sp"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:text="Chronometer"
/>
<TableLayout
android:id="@+id/parentLayout"
android:layout_
android:layout_
>
这将包装表格的内容,因此 Chronometer 将获得空间。
2.)
<Chronometer
android:id="@+id/chrono"
android:textColor="#4169E1"
android:textSize="20sp"
android:layout_
android:layout_
android:layout_centerHorizontal="true"
android:text="Chronometer"
/>
<TableLayout
android:id="@+id/parentLayout"
android:layout_
android:layout_
android:layout_below="@id/chrono"
>
这将强制 Chronometer 在表格布局显示后占据表格布局下方的全部空间。
希望这会有所帮助。
【讨论】:
非常感谢,第二个选项终于显示计时器了!!谢谢sss @iversoncru 很高兴有帮助 :) 编码愉快。以上是关于视图未在 Android 的相对布局中显示 [重复]的主要内容,如果未能解决你的问题,请参考以下文章