2016-05-16 4 views
3

したがって、timePickerがscrollViewにあるかどうかに関係なく、ポートレートモードが正しく表示されます。スクロール内のアナログ時間ピッカービュー時間の選択を表示しない

enter image description here

風景モードscroolViewの内側にあります。

enter image description here

風景モード何scroolViewはありません。

enter image description here

[編集]コード:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.aapps.groupalarmclock.NewAlarmActivity"> 

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:scaleType="centerCrop" 
    android:src="@drawable/background" 
    android:alpha="@dimen/background_transparency" 
    android:layout_centerHorizontal="true" /> 

<LinearLayout 
    android:orientation="horizontal" 
    android:layout_width="match_parent" 
    android:layout_height="@dimen/toolbar_height" 
    android:layout_alignParentTop="true" 
    android:weightSum="2" 
    android:background="@color/colorToolbar" 
    android:gravity="center_vertical" 
    android:id="@+id/linearLayout"> 

    <RelativeLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:id="@+id/rl_cancle" 
     android:layout_weight="1" 
     android:background="@drawable/click_effect" 
     android:gravity="center"> 

     <ImageView 
      android:layout_width="@dimen/toolbar_icon_size" 
      android:layout_height="@dimen/toolbar_icon_size" 
      android:id="@+id/iv_cancel" 
      android:src="@drawable/cancel" 
      android:layout_centerVertical="true" 
      android:layout_centerHorizontal="true" 
      android:layout_marginRight="@dimen/cancel_done_right_margin" 
      android:layout_marginEnd="@dimen/cancel_done_right_margin"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="@color/colorText" 
      android:id="@+id/tv_cancel" 
      android:layout_centerVertical="true" 
      android:layout_toRightOf="@+id/iv_cancel" 
      android:layout_toEndOf="@+id/iv_cancel" /> 

    </RelativeLayout> 

    <View 
     android:layout_width="1dp" 
     android:layout_height="@dimen/separator_height" 
     android:background="@color/colorLineSeparator" 
     android:id="@+id/v_cancel_done"> 
    </View> 

    <RelativeLayout 
     android:layout_width="0dp" 
     android:layout_height="match_parent" 
     android:id="@+id/rl_done" 
     android:layout_weight="1" 
     android:background="@drawable/click_effect" 
     android:gravity="center"> 

     <ImageView 
      android:layout_width="@dimen/toolbar_icon_size" 
      android:layout_height="@dimen/toolbar_icon_size" 
      android:id="@+id/iv_done" 
      android:src="@drawable/done" 
      android:layout_centerVertical="true" 
      android:layout_centerHorizontal="true" 
      android:layout_marginRight="@dimen/cancel_done_right_margin" 
      android:layout_marginEnd="@dimen/cancel_done_right_margin"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="@color/colorText" 
      android:id="@+id/tv_done" 
      android:layout_centerVertical="true" 
      android:layout_toRightOf="@+id/iv_done" 
      android:layout_toEndOf="@+id/iv_done" /> 

    </RelativeLayout> 

</LinearLayout> 


<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:id="@+id/scrollView" 
    android:layout_below="@+id/linearLayout" 
    android:layout_centerHorizontal="true" 
    android:fillViewport="true"> 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/lltp"> 


     <TimePicker tools:targetApi="23" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/timePicker" 
      android:timePickerMode="clock" 
      android:background="#80FFFFFF"/> 

    </RelativeLayout> 

</ScrollView> 

何が間違っている誰もが知っていますか?

答えて

2

ScrollViewでコンテンツを拡大してビューポートに塗りつぶすかどうかのプロパティがあります。デフォルトではfalseに設定されていて、横向きモードで開いても機能しません。

だからScrollview内部

android:fillViewport="true" 

を設定し、それが動作するはずです。詳細情報については

- http://developer.android.com/reference/android/widget/ScrollView.html

+0

まだ動作しません。 –

+0

ちょうどこれに気付きました....スクロールビューでこれを変更してください。 'android:layout_height = "match_parent" ' – hashcode55

+0

私は試しましたが、それは良いことではありません。 –

0

私は、Android 5.1(API 22)と、デバイス上で同じ問題をしましたが、私の場合には、これをandroid:fillViewport="true"解決しません。しかし、TimePickerの親として追加のレイアウトを追加すると、これを解決できます。

次の例では、固定レイアウトを示す:android:minHeight="200dp"パラメータを有し、TimePicker自体がandroid:layout_width="match_parent"android:layout_height="match_parent"を有するTimePickerをのLinearLayout内に配置され

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:fillViewport="true"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:orientation="vertical"> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1" 
       android:minHeight="200dp" 
       android:orientation="horizontal"> 

       <TimePicker 
        android:layout_width="match_parent" 
        android:layout_height="match_parent" 
        android:layout_gravity="center_horizontal" /> 
      </LinearLayout> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="right|bottom" 
       android:gravity="right|center_vertical" 
       android:onClick="onSave" 
       android:text="Save" /> 
     </LinearLayout> 
    </ScrollView> 
</LinearLayout> 

注意。これはladscape向きの問題を解決するのに役立ちます。 minHeightパラメータには必要な値はありますが、TimePickerを適切にレンダリングするために使用する必要があります。

関連する問題