0

我有一个自定义对话框,它是一系列按钮、选择器和视图切换器。我正在尝试在 setDate 和 setTime 按钮上方放置一个显示文本的文本视图。目前它在按钮顶部显示文本视图。

如何在时间和日期按钮上方显示文本视图?谢谢。

在此处输入图像描述

>

 <?xml version="1.0" encoding="UTF-8"?> 

<RelativeLayout 
>     
>     android:padding="5dip" 
>     android:fitsSystemWindows="true" 
>     android:layout_height="wrap_content" 
>     android:layout_width="fill_parent" 
>     android:id="@+id/DateTimePicker" 
>     xmlns:android="http://schemas.android.com/apk/res/android">
>     
>     
>     
>     <LinearLayout 
>         
>         android:layout_height="wrap_content" 
>         android:layout_width="fill_parent" 
>         android:id="@+id/linearlayoutdatepickermessage" 
>         android:layout_marginTop="5dip"> 
>     
>     
>     <TextView
>         android:id="@+id/textviewdatetimepickermessage"
>         android:layout_width="wrap_content"
>         android:layout_height="wrap_content"
>         android:layout_gravity="center"
>         
>          />
>     
>     </LinearLayout>
>     
>     <LinearLayout 
>         
>         android:layout_height="wrap_content" 
>         android:layout_width="fill_parent" 
>         android:id="@+id/ViewSwitchButtons" 
>         android:layout_marginBottom="5dip"> 
>         
>         
>         
>         <Button 
>             android:layout_height="wrap_content" 
>             android:layout_width="0dip" 
>             android:id="@+id/SwitchToDate" 
>             android:text="Set date" 
>             android:enabled="false" 
>             android:layout_weight="1"/>
>         
>         <Button 
>             android:layout_height="wrap_content" 
>             android:layout_width="0dip" 
>             android:id="@+id/SwitchToTime" 
>             android:text="Set time" 
>             android:layout_weight="1"/>
>         
>         </LinearLayout> 
>         
>         <ViewSwitcher 
>             android:layout_height="wrap_content" 
>             android:layout_width="fill_parent" 
>             android:id="@+id/DateTimePickerVS" 
>             android:layout_below="@+id/ViewSwitchButtons" 
>             android:outAnimation="@android:anim/fade_out" 
>             android:inAnimation="@android:anim/fade_in"> 
>             
>             
>                 
>                 <LinearLayout 
>                     android:layout_height="fill_parent" 
>                     android:layout_width="fill_parent" 
>                     android:id="@+id/TimeLayout" 
>                     android:fillViewport="true"> 
>                     
>                     <TimePicker 
>                         android:layout_height="wrap_content" 
>                         android:layout_width="fill_parent" 
>                         android:id="@+id/TimePicker" 
>                         android:layout_marginRight="5dip" 
>                         android:layout_marginLeft="5dip"/>
>                     
>                     </LinearLayout> 
>                     
>                 <LinearLayout android:layout_height="fill_parent" 
>                 android:layout_width="fill_parent" 
>                 android:id="@+id/DateLayout" 
>                 android:fillViewport="true"> 
>                 
>                 <DatePicker 
>                     android:layout_height="wrap_content" 
>                     android:layout_width="fill_parent" 
>                     android:id="@+id/DatePicker" 
>                     android:layout_marginRight="5dip" 
>                     android:layout_marginLeft="5dip"/>
>                 
>                 </LinearLayout> 
>                     
>                     </ViewSwitcher> 
>                     
>                     <LinearLayout 
>                         android:layout_height="wrap_content" 
>                         android:layout_width="fill_parent" 
>                         android:id="@+id/ControlButtons" 
>                         android:layout_below="@+id/DateTimePicker" 
>                         android:paddingTop="185dip"> 
>                         
>                         <Button 
>                             android:layout_height="wrap_content" 
>                             android:layout_width="0dip" 
>                             android:id="@+id/SetDateTime" 
>                             android:text="@android:string/ok" 
>                             android:layout_weight="1"/> 
>                             
>                             <Button 
>                                 android:layout_height="wrap_content" 
>                                 android:layout_width="0dip" 
>                                 android:id="@+id/ResetDateTime" 
>                                 android:text="Reset" 
>                                 android:layout_weight="1"/>
>                             
>                         <!--     <Button 
>                                 android:layout_height="wrap_content" 
>                                 android:layout_width="0dip" 
>                                 android:id="@+id/CancelDialog" 
>                                 android:text="@android:string/cancel" 
>                                 android:layout_weight="1"/>  -->
>                                 
>                                 </LinearLayout> 
>                                 
>                                 </RelativeLayout>

[编辑1] 在此处输入图像描述

[编辑2] 在此处输入图像描述

[编辑3]

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout 

        android:layout_height="wrap_content" 
        android:layout_width="fill_parent" 
        android:orientation="vertical"
        xmlns:android="http://schemas.android.com/apk/res/android"> 



    <LinearLayout 

        android:layout_height="wrap_content" 
        android:layout_width="fill_parent" 
        android:id="@+id/linearlayoutdatepickermessage" 
        android:layout_marginTop="5dip"> 


    <TextView
        android:id="@+id/textviewdatetimepickermessage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"

         />

    </LinearLayout>

    <LinearLayout 

        android:layout_height="wrap_content" 
        android:layout_width="fill_parent" 
        android:id="@+id/ViewSwitchButtons" 
        android:layout_marginBottom="5dip"
       > 



        <Button 
            android:layout_height="wrap_content" 
            android:layout_width="0dip" 
            android:id="@+id/SwitchToDate" 
            android:text="Set date" 

            android:layout_weight="1"/>

        <Button 
            android:layout_height="wrap_content" 
            android:layout_width="0dip" 
            android:id="@+id/SwitchToTime"
            android:enabled="false" 
            android:text="Set time" 
            android:layout_weight="1"/>

        </LinearLayout> 

        <ViewSwitcher 
            android:layout_height="wrap_content" 
            android:layout_width="fill_parent" 
            android:id="@+id/DateTimePickerVS" 

            android:outAnimation="@android:anim/fade_out" 
            android:inAnimation="@android:anim/fade_in"> 



                <LinearLayout 
                    android:layout_height="fill_parent" 
                    android:layout_width="fill_parent" 
                    android:id="@+id/TimeLayout" 
                    android:fillViewport="true"> 

                    <TimePicker 
                        android:layout_height="wrap_content" 
                        android:layout_width="fill_parent" 
                        android:id="@+id/TimePicker" 
                        android:layout_marginRight="5dip" 
                        android:layout_marginLeft="5dip"/>

                    </LinearLayout> 

                <LinearLayout android:layout_height="fill_parent" 
                android:layout_width="fill_parent" 
                android:id="@+id/DateLayout" 
                android:fillViewport="true"> 

                <DatePicker 
                    android:layout_height="wrap_content" 
                    android:layout_width="fill_parent" 
                    android:id="@+id/DatePicker" 
                    android:layout_marginRight="5dip" 
                    android:layout_marginLeft="5dip"/>

                </LinearLayout> 

                    </ViewSwitcher> 

                    <LinearLayout 
                        android:layout_height="wrap_content" 
                        android:layout_width="fill_parent" 
                        android:id="@+id/ControlButtons" 

                        android:paddingTop="185dip"> 

                        <Button 
                            android:layout_height="wrap_content" 
                            android:layout_width="0dip" 
                            android:id="@+id/SetDateTime" 
                            android:text="@android:string/ok" 
                            android:layout_weight="1"/> 

                            <Button 
                                android:layout_height="wrap_content" 
                                android:layout_width="0dip" 
                                android:id="@+id/ResetDateTime" 
                                android:text="Reset" 
                                android:layout_weight="1"/>

                        <!--     <Button 
                                android:layout_height="wrap_content" 
                                android:layout_width="0dip" 
                                android:id="@+id/CancelDialog" 
                                android:text="@android:string/cancel" 
                                android:layout_weight="1"/>  -->

                                </LinearLayout> 

                                </LinearLayout>
4

2 回答 2

1

在您的ViewSwitchButtonsLinearLayout 上,放置以下内容:

android:layout_below="@+id/linearlayoutdatepickermessage"

好的,您的布局包括:

  1. 线性布局1
  2. 视图切换器
  3. 线性布局2
  4. 线性布局3

如果你想使用RelativeLayout,你应该添加:

  1. android:layout_below="ID_LinearLayout1"到 ViewSwitcher
  2. android:layout_below="ID_ViewSwitcher"到线性布局2
  3. android:layout_below="ID_LinearLayout2"到线性布局3

或者另一种选择是将您的RelativeLayout父母更改为LinearLayoutwithandroid:orientation="vertical"

于 2013-07-18T09:13:39.770 回答
0

RelativeLayout,定位视图的默认参数是alignParentTop = "true",所以在你的代码中,你没有指定放置Layout你的Buttons(设置日期/设置时间)的位置,所以它将被放置在顶部(带有TextViewmsg 的布局) . 所以把你的按钮放在你的 textView 下面修改你的 xml 布局,如下所示:

<LinearLayout         
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:id="@+id/ViewSwitchButtons" 
    android:layout_marginBottom="5dip"
    android:layout_marginTop="5dip"
    android:layout_marginBottom="5dip"
    android:layout_below="@+id/linearlayoutdatepickermessage" <!--this will put your buttons below the textView-->
>  
于 2013-07-18T10:02:16.553 回答