gpt4 book ai didi

android - SlidingDrawer 不能有未指定的尺寸

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:51 27 4
gpt4 key购买 nike

您好,我遇到了运行时异常:

SlidingDrawer cannot have UNSPECIFIED dimensions

从下面的 XML 中,可以提供任何帮助。

 <?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/scroll" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="true">
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10px" android:background="@drawable/formbg">


<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:orientation="horizontal" android:layout_alignParentTop="true"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true">

<TextView android:id="@+id/label"
android:layout_width="120px"
android:layout_height="wrap_content"
android:text="Question Title"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#000000"
android:paddingLeft="5px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>

<EditText android:id="@+id/entry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:paddingLeft="10px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>

</LinearLayout>


<LinearLayout android:id="@+id/linearLayout2"
android:layout_below="@id/linearLayout1" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:paddingRight="0px" >

<TextView android:id="@+id/pass"
android:layout_width="120px"
android:layout_height="wrap_content"
android:text="Type Description"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#000000"
android:paddingLeft="5px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>

<EditText android:id="@+id/passentry"
android:layout_width="match_parent"
android:layout_height="100px"
android:textColor="#000000"
android:paddingLeft="10px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>

</LinearLayout>


<LinearLayout android:id="@+id/linearLayout3"
android:layout_below="@id/linearLayout2" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true">

<TextView android:id="@+id/labelbounty"
android:layout_width="120px"
android:layout_height="wrap_content"
android:text="Enter Amount $"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#000000"
android:paddingLeft="5px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>

<EditText android:id="@+id/bounty"
android:numeric="decimal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:paddingLeft="10px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>


</LinearLayout>


<LinearLayout android:id="@+id/linearLayout4"
android:layout_below="@id/linearLayout3" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true">



<TextView android:id="@+id/duedatelabel"
android:layout_width="120px"
android:layout_height="wrap_content"
android:text="Due Date"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#000000"
android:paddingLeft="10px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px" />

<Button android:id="@+id/pickDate"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
android:paddingLeft="10px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
android:text="Select Due Date"/>

</LinearLayout>

<LinearLayout android:id="@+id/linearLayout5"
android:layout_below="@id/linearLayout4" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true">


<TextView android:id="@+id/labelprimary"
android:layout_width="120px"
android:layout_height="wrap_content"
android:text="Category"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#000000"
android:paddingLeft="10px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>

<Spinner
android:id="@+id/primarycategory"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:prompt="@string/planet_prompt"
android:textColor="#000000"
android:paddingLeft="15px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>
</LinearLayout>


<LinearLayout android:id="@+id/linearLayout6"
android:layout_below="@id/linearLayout5" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true">

<TextView android:id="@+id/labelsecondary"
android:layout_width="120px"
android:layout_height="wrap_content"
android:text="Sub Category"
android:textStyle="bold"
android:textSize="12sp"
android:textColor="#000000"
android:paddingLeft="10px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>

<Spinner
android:id="@+id/secondarycategory"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:prompt="@string/secondary_category"
android:textColor="#000000"
android:paddingLeft="15px"
android:paddingRight="5px"
android:paddingTop="10px"
android:paddingBottom="10px"
/>
</LinearLayout>


<LinearLayout android:id="@+id/linearLayout7"
android:layout_below="@id/linearLayout6" android:layout_width="wrap_content"
android:padding="10px"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:paddingRight="10px" android:paddingLeft="10px">

<Button android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Add Attachment"
>

</Button>

</LinearLayout>


<LinearLayout android:id="@+id/linearLayout8"
android:layout_below="@id/linearLayout7" android:layout_width="wrap_content"
android:padding="10px"
android:layout_height="wrap_content" android:orientation="horizontal"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:paddingRight="10px" android:paddingLeft="10px">


<Button android:id="@+id/askNow"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="Post Question" />

</LinearLayout>
<LinearLayout android:id="@+id/linearLayout9"
android:layout_below="@id/linearLayout8"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="bottom"
android:orientation="vertical">


<SlidingDrawer android:id="@+id/SlidingDrawer" android:handle="@+id/slideHandleButton" android:content="@+id/contentLayout" android:topOffset="50dip" android:layout_width="fill_parent" android:layout_height="fill_parent">
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/slideHandleButton" android:background="@drawable/closearrow"></Button>
<LinearLayout android:id="@+id/contentLayout" android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:gravity="center"
android:background="#FF444444">
<Button android:id="@+id/asknew" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Ask New Question"></Button>
<Button android:id="@+id/logout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Log Out"></Button>
</LinearLayout>
</SlidingDrawer>
</LinearLayout>

<android.view.SurfaceView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/preview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</android.view.SurfaceView>

</RelativeLayout>
</ScrollView>

最佳答案

我遇到了同样的问题,所以我深入研究了源代码。基本的答案是使用 MeasureSpec.UNSPECIFIED 在 SlidingDrawer 上调用 measure() 的东西,即允许 SlidingDrawer 设置自己的大小。

这可能是由于包含布局(或其父布局)是基对齐的或具有 WRAP_CONTENT 作为其高度或宽度。如果包含 LinearLayout 的 baselineAligned 设置为 true,它会询问其所有子项的大小以找到最大的一个。当然,如果要包裹它们,它还会询问其子项的大小。

在任何包含滑动抽屉的 LinearLayout 中设置 android:baselineAligned="false" 并确保包含 SlidingDrawer 的任何内容都没有高度或宽度的 WRAP_CONTENT。换句话说,SlidingDrawer 必须定义一个精确的大小,这意味着如果您使用 FILL_PARENT,它的父级也必须定义。

关于android - SlidingDrawer 不能有未指定的尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6907922/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com