0

私は3 TextViewsとAndroidのScrollViewを持っている:Textviews

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fillViewport="true" 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
     <LinearLayout 
      android:orientation="vertical" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content"> 
      <TextView 
       android:id="@+id/text1" 
       android:layout_weight="1" 
       android:text="short text 1" 
       android:textSize="30dp" 
       android:padding="16dp" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" /> 
      <TextView 
       android:id="@+id/text2" 
       android:layout_weight="1" 
       android:text="Very long text Very long text Very long text Very long text" 
       android:textSize="50dp" 
       android:padding="16dp" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" /> 
      <TextView 
       android:id="@+id/text3" 
       android:layout_weight="1" 
       android:text="short text 2" 
       android:textSize="30dp" 
       android:padding="16dp" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" /> 
     </LinearLayout> 
</ScrollView> 

私は次の動作をしたい:

  • すべてTextViewsが等しい高さを持っている - テキスト場合
  • の作品テキストを入力すると画面全体が塗りつぶされます(したがってfillViewport="true") - 作品
  • テキストが画面より大きい場合、ScrollViewが開始しますTextViewsの高さは同じです(すべてのTextViewの高さが最高のTextViewと同じです)。 - が機能しません。TextViewがクリップされ、ScrollViewはスクロールしません。ここで

は、あなたがのLinearLayoutにandroid:weightSum="3" を使用する必要があります That's how the screen looks like

+0

どのようにtextviewsを動作させますか? textview2のテキストが長い場合は? –

+0

私はtextViews2のテキストを完全に見たいと思って、すべてのtextViewsは同じ長さを持つ必要があります。したがって、textView1とtextView3はtextView2の高さに適応する必要があります。レイアウト全体が画面よりも高いので、私はScrollViewをスクロールしたい。 – Damnum

+0

'android:layout_height =" wrap_content "'をスクロールビューに入れます –

答えて

0

(TextView2がクリップされる)のような画面がどのように見えるかです。三つには、TextViewの中に部品を等しく分割のTextViewがandroid:layout_weight="1"

+1

結果を変更しません。スクリーンショットで見てきたように、3等分に分割しても動作しますが、textView2がクリップされて画面がスクロールしません。 – Damnum

+0

TextPaint paint = txtview2.getPaint(); int wordwidth =(int)paint.measureText( "a"、0、1); int screenwidth = getResources()。getDisplayMetrics()。widthPixels; int num = screenwidth/wordwidth; if(!expand){ expand = true; ObjectAnimator animation = ObjectAnimator.ofInt(desc_txt、 "maxLines"、num); animation.setDuration(100).start(); }次のコードは、textviewの高さをテキストの長さに合わせるのに役立ちます。 –

0

を使用している場合weightsumのLinearLayoutに基づき、あなたはTextViewの中

android:layout_height="wrap_content" 

で試してみて、

アンドロイドを削除することができますlayout_weight = "1"

 <TextView 
      android:id="@+id/text1" 
      android:text="short text 1" 
      android:textSize="30dp" 
      android:padding="16dp" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 
関連する問題