我正在尝试创建一个顶部有自定义视图的窗口,底部有三个按钮。我希望视图能够占用创建按钮后遗留下来的房地产。我的布局XML如下
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff" >
<FrameLayout
android:id="@+id/CustomFrame"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#ffffff" >
<Button
android:id="@+id/Button01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/ok"
android:layout_marginBottom="10dip"
android:layout_marginTop="10dip" />
<Button
android:id="@+id/Button02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/cancel"
android:layout_marginBottom="10dip"
android:layout_marginTop="10dip" />
<Button
android:id="@+id/Button03"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/clear"
android:layout_marginBottom="10dip"
android:layout_marginTop="10dip" />
</LinearLayout>
</LinearLayout>
然后我使用代码
将我的自定义视图添加到窗口中 setContentView(R.layout.drawitwindow);
FrameLayout layout = (FrameLayout)findViewById(R.id.CustomFrame);
mView = new MyCustomView(this);
layout.addView(mView);
在onCreate方法中。
但是,自定义视图会占据整个屏幕!如果我删除了将自定义视图添加到框架的代码,则按钮栏会出现在窗口的顶部(正如我所料)。
我尝试重写onMeasure方法,添加
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
this.setMeasuredDimension(parentWidth,parentHeight);
但这没有任何区别。
我尝试了各种布局宽度和高度组合,但这似乎没有任何区别。
非常感谢所有帮助......
答案 0 :(得分:0)
将FrameLayout android:layout_height更改为wrap_content。
还添加到FrameLayout和按钮的线性布局android:layout_weight =“1.0”。
我希望这会有所帮助。