Xamarin C#:在水平LinearLayout

时间:2017-03-02 23:00:52

标签: c# android android-linearlayout android-alertdialog timepicker

我使用AlertDialog创建了DialogBuilder,并将axml文件的内容作为其视图进行了充气。我有一个嵌套LinearLayouts的两级系统,外部垂直定位另外两个内容。其中一个内容包含TextView和稍微缩小的TimePicker。以下是相应的axml的相关部分:

<LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <TextView
            android:text="Start"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/textView2"
            android:gravity="center_vertical"/>
        <TimePicker
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:scaleX="0.80"
            android:scaleY="0.80"
            android:timePickerMode="spinner"
            android:id="@+id/endPicker" />
    </LinearLayout>

这就是我的智能手机上的样子(上午/下午是我的母语):

enter image description here

文本START指的是一段时间的开始,我想将它垂直对齐到时间选择器的中心(就像这是一个手动修改的图片):

enter image description here

然而,出于某种原因,我不能这样做,无论我如何调整我的文本。我已经尝试过TableView类似于建议的HERE,但它没有帮助。我也尝试使用两个元素的边缘,但是当选择器如此&#34;填充&#34;它不可见,文本仍保持在其位置设置为center_vertical。 我假设属于TimePicker的一些隐藏元素应该归咎于此,但我无法弄清楚是什么以及如何。我没有来这里的是什么东西?

1 个答案:

答案 0 :(得分:1)

尝试将TextView中的重力场从“center_vertical”更改为“center”

编辑:添加代码

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <TextView
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/textView1"
        android:gravity="center" />
    <TimePicker
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:id="@+id/timePicker1" />
</LinearLayout>