2017-12-13 9 views
0

XMLファイルにscrollViewがあります。レイアウトの高さに "match_parent"を使用したいと思いますが、ボタンがスクロールしないようにスクロールビューの上にボタンを配置したいと思います。しかし、Nexus ONEのような小型の携帯電話でボタンが消えないと、これを行うことはできません。私ができる唯一の方法は、私が現在持っている450dpのような特定のlayout_Heightを使用する場合です。しかし450dpのレイアウトの高さでは、Nexus ONEサイズでは見た目がよく見えますが、Nexus 6などのデバイスサイズが大きければ小さすぎます。すべての「通常の」デバイスサイズの1 XMLファイルでスクロールビューを実装する方法は?

「ノーマル」レイアウトのすべてのデバイスサイズを作成するには、Nexus ONEのようなスクロールビューをボタン用に少ししか残していないのですか?ここで

は、私がlayout_height = "450dp" を持っているものです。

enter image description here

ネクサス6:

enter image description here

両方のデバイスが同じXMLファイルに:

<Button 
    android:id="@+id/memories" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginBottom="8dp" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginTop="8dp" 
    android:text="Memories >" 
    app:layout_constraintBottom_toTopOf="@+id/scrollView2" 
    app:layout_constraintHorizontal_bias="0.502" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent" 
    app:layout_constraintTop_toTopOf="parent" /> 

<ScrollView 
    android:id="@+id/scrollView2" 
    android:layout_width="0dp" 
    android:layout_height="450dp" 
    android:layout_marginBottom="6dp" 
    android:layout_marginEnd="8dp" 
    android:layout_marginLeft="8dp" 
    android:layout_marginRight="8dp" 
    android:layout_marginStart="8dp" 
    android:background="#808000" 
    app:layout_constraintBottom_toBottomOf="parent" 
    app:layout_constraintHorizontal_bias="0.0" 
    app:layout_constraintLeft_toLeftOf="parent" 
    app:layout_constraintRight_toRightOf="parent"> 

    <LinearLayout 
     android:id="@+id/SavedBroadcasts" 
     android:layout_width="304dp" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     tools:layout_editor_absoluteX="8dp" 
     tools:layout_editor_absoluteY="0dp" > 

    </LinearLayout> 
</ScrollView> 

答えて

0

のようなXMLコードをしてください私が言及したように、それは私のアプリで適切に動作しています。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:tools="http://schemas.android.com/tools"> 

    <Button 
     android:id="@+id/memories" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="8dp" 
     android:layout_marginBottom="8dp" 
     android:text="Memories" 
     app:layout_constraintBottom_toTopOf="@+id/scrollView2" 
     app:layout_constraintHorizontal_bias="0.502" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent" 
     app:layout_constraintTop_toTopOf="parent" /> 

    <ScrollView 
     android:id="@+id/scrollView2" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@id/memories" 
     android:layout_marginBottom="6dp" 
     android:layout_marginEnd="8dp" 
     android:layout_marginLeft="8dp" 
     android:layout_marginRight="8dp" 
     android:layout_marginStart="8dp" 
     android:background="#808000" 
     app:layout_constraintBottom_toBottomOf="parent" 
     app:layout_constraintHorizontal_bias="0.0" 
     app:layout_constraintLeft_toLeftOf="parent" 
     app:layout_constraintRight_toRightOf="parent"> 

     <LinearLayout 
      android:id="@+id/SavedBroadcasts" 
      android:layout_width="304dp" 
      android:layout_height="wrap_content" 
      android:orientation="vertical" 
      tools:layout_editor_absoluteX="8dp" 
      tools:layout_editor_absoluteY="0dp"> 

     </LinearLayout> 
    </ScrollView> 

</RelativeLayout> 

すべてのデバイスで同じレイアウトが表示されます。

ネクサスワン Your layout look like in Nexus One

ネクサス6 In Nexus 6

画素2

In Pixel 2
関連する問題