2017-05-26 55 views
0

我想使用滾動視圖,使在它滾動包裹TextView的。滾動型隱藏TextView的文本在橫向模式

我使用的網格佈局和我能夠爲我需要,特別是長文本塊,包在一個滾動視圖(大標題下的文本)來定位的項目。

然而,在旋轉時,長文本塊完全消失,我必須繼續滾動起來,以使其可見。我需要它在橫向模式下按預期顯示。

Portrait mode- works ok

landscape mode, text not visible until swiped up

landscape mode, now visible after swiping up

text now visible after swiping up

這是我的XML

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

    <include layout="@layout/toolbar" android:id="@+id/toolbar"/> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleType="centerCrop" 
     android:adjustViewBounds="true" 
     android:layout_marginTop="20dp" 
     android:id="@+id/articlesummaryimageview" 
     android:layout_below="@id/toolbar" 
     android:layout_centerHorizontal="true"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/articlesummaryheadingtextview" 
     android:layout_below="@id/articlesummaryimageview" 
     android:layout_centerHorizontal="true" 
     android:textSize="26dp" 
     android:textStyle="bold" 
     android:textAlignment="center" 
     android:layout_marginTop="20dp" 
     /> 


    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:id="@+id/articlesummaryscreenscrollview" 
     android:layout_below="@id/articlesummaryheadingtextview" 
     android:fillViewport="false" 
     android:layout_above="@+id/showfullarticlebutton" 
     > 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/articlesummarytextview" 
      android:textSize="18dp" 
      android:textAlignment="center" 
      android:padding="5dp" 
      /> 
    </ScrollView> 
    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/showfullarticlebutton" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:textSize="18dp" 
     android:text="Full Article" 

     style="@style/AlertDialog.AppCompat.Light" 
     /> 
</RelativeLayout> 

謝謝

回答

0

添加RelativeLayoutScrollView直接孩子讓TextView裏面。

2.使用attributge android:fillViewport="true"ScrollView

試試這個:

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

    <include layout="@layout/toolbar" android:id="@+id/toolbar"/> 

    <ImageView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:scaleType="centerCrop" 
     android:adjustViewBounds="true" 
     android:layout_marginTop="20dp" 
     android:id="@+id/articlesummaryimageview" 
     android:layout_below="@id/toolbar" 
     android:layout_centerHorizontal="true"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:id="@+id/articlesummaryheadingtextview" 
     android:layout_below="@id/articlesummaryimageview" 
     android:layout_centerHorizontal="true" 
     android:textSize="26dp" 
     android:textStyle="bold" 
     android:textAlignment="center" 
     android:layout_marginTop="20dp" /> 

    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:id="@+id/articlesummaryscreenscrollview" 
     android:layout_below="@id/articlesummaryheadingtextview" 
     android:fillViewport="true" 
     android:layout_above="@+id/showfullarticlebutton"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:id="@+id/articlesummarytextview" 
       android:textSize="18dp" 
       android:textAlignment="center" 
       android:padding="5dp" 
       android:text="this is a text"/> 

     </RelativeLayout> 
    </ScrollView> 
    <Button 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/showfullarticlebutton" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:textSize="18dp" 
     android:text="Full Article" 
     style="@style/AlertDialog.AppCompat.Light" /> 
</RelativeLayout> 
2

你將不得不讓你的整個佈局滾動或想出不同的設計。要使整個佈局可滾動,請將RelativeLayout放入ScrollView中,並將ScrollView的layout_height設置爲wrap_content。

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:id="@+id/articlesummaryscreenscrollview" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:fillViewport="true" 
> 
<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    > 

<include 
    layout="@layout/toolbar" 
    android:id="@+id/toolbar" 
    /> 

<ImageView 
    android:id="@+id/articlesummaryimageview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/toolbar" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:adjustViewBounds="true" 
    android:scaleType="centerCrop" 
    /> 

<TextView 
    android:id="@+id/articlesummaryheadingtextview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_below="@id/articlesummaryimageview" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="20dp" 
    android:textAlignment="center" 
    android:textSize="26dp" 
    android:textStyle="bold" 
    /> 

<TextView 
    android:id="@+id/articlesummarytextview" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:padding="5dp" 
    android:textAlignment="center" 
    android:textSize="18dp" 
    android:layout_above="@+id/showfullarticlebutton" 
    android:layout_below="@id/articlesummaryheadingtextview" 
    /> 

<Button 
    android:id="@+id/showfullarticlebutton" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_centerHorizontal="true" 
    android:text="Full Article" 
    android:textSize="18dp" 
    style="@style/AlertDialog.AppCompat.Light" 
    /> 
</RelativeLayout> 

如果您的業務規則不允許的整個佈局是滾動的,你可以做的是把你的滾動型作爲XML的第一個佈局和調整你的其他觀點layout_above和layout_below到最初的那個(基本上使得總是顯示的視圖和其他一切都圍繞它調整)。

<?xml version="1.0" encoding="utf-8"?> 
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    > 
    <ScrollView 
     android:id="@+id/articlesummaryscreenscrollview" 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:layout_above="@+id/showfullarticlebutton" 
     android:fillViewport="false" 
     > 
    <TextView 
     android:id="@+id/articlesummarytextview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:padding="5dp" 
     android:textAlignment="center" 
     android:textSize="18dp" 
     /> 
    </ScrollView> 
    <TextView 
     android:id="@+id/articlesummaryheadingtextview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@id/articlesummaryscreenscrollview" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" 
     android:textAlignment="center" 
     android:textSize="26dp" 
     android:textStyle="bold" 
     /> 
    <ImageView 
     android:id="@+id/articlesummaryimageview" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_above="@id/articlesummaryheadingtextview" 
     android:layout_below="@id/toolbar" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="20dp" 
     android:adjustViewBounds="true" 
     android:scaleType="centerCrop" 
     /> 
    <Button 
     android:id="@+id/showfullarticlebutton" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:text="Full Article" 
     android:textSize="18dp" 
     style="@style/AlertDialog.AppCompat.Light" 
     /> 
    </RelativeLayout> 
相關問題