1

私はアンドロイド開発が初めてです。私は簡単だと思ったことをやろうとしていますが、多くの読書、試行錯誤、決意の後、シンプルでエレガントな解決策を見つけることができなかったので、次のアプローチ方法について助けを探しています:

「TextView」を読み取るテキストビューと EditText ボックスの 2 つの UI 要素があります。

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView" />

<EditText
    android:id="@+id/editText1"
    android:layout_width="match_parent"
    android:layout_height="fill_parent"
    android:ems="10"
    android:gravity="top|left"
    android:inputType="textMultiLine"
    android:scrollbarAlwaysDrawVerticalTrack="false"
    android:scrollbarStyle="insideOverlay" >
    <requestFocus />
</EditText>

</LinearLayout>

私が実装しようとしている動作は次のとおりです。ユーザーが EditText ボックスにテキストを追加すると、テキストが拡大して大きくなります。ある時点で、TextView を画面外にスクロールするのに十分な大きさになります。TextView コンテンツを常に表示したままにしたい。したがって、EditText またはそれが存在するコンテナは、画面全体をスクロールするのではなく、コンテンツをクリップする必要があります。

EditText とともに、次の要素を使用して可能なすべての反復を試みましたが、解決策を見つけることができませんでした。

  • スクロールビュー
  • フレームレイアウト
  • LinearLayout

可能であれば、このソリューションを純粋な xml に実装して、問題を適切に分離できるようにすることをお勧めします。

4

2 に答える 2

0

minLinesmaxLines(の) を使用して、が縮小/拡大できるEditText最小値と最大値をそれぞれ指定します。EditText

于 2013-03-19T16:55:33.077 に答える
0

スクロールできるようにEditText内側に折り返すようにしてください。属性を toおよびto にScrollView設定すると、 ScrollView が使用可能なスペースを埋めるように強制されますが、画面から押し出されることはありません。 ScrollView layout_weight1fillViewporttrueTextView

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />
    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:fillViewport="true" >
        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:gravity="top|left"
            android:inputType="textMultiLine"
            android:scrollbarAlwaysDrawVerticalTrack="false"
            android:scrollbarStyle="insideOverlay" >
            <requestFocus />
        </EditText>
    </ScrollView>
</LinearLayout>
于 2013-03-19T17:19:04.347 に答える