【发布时间】:2011-08-01 01:50:19
【问题描述】:
我正在使用可重复使用的数字键盘构建应用程序。键盘已放置在其自己的 XML 文件中,因此可以在整个应用程序需要的地方包含它。我想将当前活动的屏幕分成两部分,底部的固定大小的数字键盘和上面的相对布局(RL)以及其余的控件。
问题是,RL 本身并没有表现出来。在下面的示例中,RL 占据了整个屏幕,并且键盘不显示。真正奇怪的是,当我颠倒放置时,将带键盘的包含放在顶部,屏幕按预期显示,键盘和 RL 各占一半左右。
换句话说:当键盘包含在顶部时,一切都很好(但是键盘在错误的位置);但是当我在底部包含键盘时,键盘不显示,RL 占据了整个屏幕。
帮助!这种不一致让我发疯了,我差点把电脑扔过房间。
活动的 XML:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/statsTabLayout"
android:scaleType="fitXY"
android:background="#ffffff"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:baselineAligned="true"
android:orientation="vertical">
<RelativeLayout android:id="@+id/statsTopLayout"
android:background="#ffffff"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical">
<TextView android:id="@+id/textViewTopMargin"
android:text=" "
android:textColor="#FFFFFF"
android:textSize = "5sp"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="top"
android:layout_alignParentLeft="true"
android:paddingTop="0px"
></TextView>
<TextView android:id="@+id/textViewAverage"
android:text="Average = (%)"
android:textColor="#000000"
android:textSize = "25sp"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:paddingBottom="5px"
android:layout_below="@+id/textViewTopMargin"
android:layout_alignParentLeft="true"
></TextView>
<Button android:id="@+id/buttonReset"
android:text="reset"
android:onClick="resetButtonClick"
android:textSize = "12sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/textViewAverage"
android:layout_alignBottom="@+id/textViewAverage"
android:layout_below="@+id/textViewTopMargin"
android:layout_alignParentRight="true"
></Button>
<TextView android:id="@+id/textViewHi"
android:text="High= "
android:textColor="#000000"
android:textSize = "20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="5px"
android:layout_below="@+id/textViewAverage"
android:layout_alignParentLeft="true"
></TextView>
<TextView android:id="@+id/textViewLow"
android:text="Low= "
android:textColor="#000000"
android:textSize = "20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="5px"
android:layout_below="@+id/textViewAverage"
android:layout_centerHorizontal="true"
></TextView>
<TextView android:id="@+id/textViewMax"
android:text="Max= "
android:textColor="#000000"
android:textSize = "20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="5px"
android:layout_below="@+id/textViewAverage"
android:layout_alignParentRight="true"
></TextView>
<TextView android:id="@+id/textViewScore"
android:text="Score = "
android:textColor="#000000"
android:textSize = "30sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="5px"
android:layout_above="@+id/textViewScoreCalculation"
android:layout_alignParentLeft="true"
></TextView>
<TextView android:id="@+id/textViewScoreCalculation"
android:text="(score calculation)"
android:textColor="#000000"
android:textSize = "20sp"
android:textStyle="italic"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="10px"
android:layout_above="@+id/editTextPoints"
android:layout_alignParentRight="true"
></TextView>
<TextView android:id="@+id/textViewPoints"
android:text="Enter Points: "
android:textSize = "30sp"
android:textColor="#000000"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/textViewBottomMargin"
android:layout_alignParentLeft="true"
android:paddingBottom="10px"
></TextView>
<EditText android:id="@+id/editTextPoints"
android:text=""
android:digits="-0123456789."
android:windowSoftInputMode="stateVisible"
android:focusable="true"
android:textSize = "30sp"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/textViewPoints"
android:layout_alignBottom="@+id/textViewPoints"
android:layout_above="@+id/textViewBottomMargin"
android:layout_toRightOf="@+id/textViewPoints"
android:paddingBottom="10px"
></EditText>
<TextView android:id="@+id/textViewBottomMargin"
android:text=" "
android:textColor="#FFFFFF"
android:textSize = "5sp"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:paddingBottom="0px"
></TextView>
</RelativeLayout>
<include layout="@layout/numerickeyboard" />
</LinearLayout>
内含键盘的父布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="104pt"
android:id="@+id/numberPadLayoutContainer"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:background="#404040"
android:layout_alignParentBottom="true"
>
有什么建议吗?
【问题讨论】:
标签: android xml layout android-linearlayout android-relativelayout