2

これは私の.xmlファイルで、入力Edittextと出力TextViewの2つのスクロールビューを使用しました。ここで何が問題になっていますか...Androidデバイスでは機能していません。

もう1つの問題は、デバイスを回転させると、入力テキスト領域しか表示されないことです。出力テキスト領域が下がっています。入力の半分の画面と出力領域の半分の画面を見たいです。

それを修正する方法は??

ありがとう

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

  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="35dp"
    android:orientation="horizontal" >

    <Button
        android:id="@+id/test"
        android:layout_width="60dp"
        android:layout_height="38dp"
        android:text="@string/test" />

    <Button
        android:id="@+id/rdf"
        android:layout_width="60dp"
        android:layout_height="38dp"
        android:text="@string/rdf" />

    <Button
        android:id="@+id/load"
        android:layout_width="75dp"
        android:layout_height="38dp"
        android:text="@string/load" />

    <Button
        android:id="@+id/clear"
        android:layout_width="60dp"
        android:layout_height="38dp"
        android:text="@string/clear" />

    <Button
        android:id="@+id/close"
        android:layout_width="fill_parent"
        android:layout_height="38dp"
        android:text="@string/close" />

  </LinearLayout>

   <ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

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

        <EditText
            android:id="@+id/input"
            android:layout_width="0dp"
            android:layout_height="175dp"
            android:layout_weight="1"
            android:background="#fff"
            android:ems="10"
            android:gravity="top|left"
            android:textSize="14dp"
            android:inputType="textMultiLine" >

            <requestFocus />
        </EditText>
    </LinearLayout>
   </ScrollView>

   <Button
    android:id="@+id/run"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/run" />

   <ScrollView
    android:id="@+id/scrollView2"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" >

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

        <TextView
            android:id="@+id/output"
            android:layout_width="match_parent"
            android:layout_height="225dp"
            android:background="#fff"
            android:text="@string/output"
            android:textColor="#1e90ff" />
    </LinearLayout>
 </ScrollView>

</LinearLayout>
4

2 に答える 2

0

ここで何が問題なのですか... Androidデバイスでは機能していません。

それはかなりあいまいです。あなたの期待は何ですか?何が機能していないのですか?つまり、もう少し具体的にお願いします。

ただし、与えられたレイアウト コードに基づいて、いくつかの推奨事項を次に示します。

  1. ビューのサイズをハードコーディングしないでください。多種多様な画面サイズ、密度、およびデバイスが存在するため、画面サイズについて推測することはできません。また、ポートレートモードでレイアウトをきれいに見せることができたとしても、ランドスケープモードではそれに近いものではないでしょう.
  2. に 1 つだけ入れる場合Viewは、コンテナーScrollViewにラップする必要はありません。ViewGroup再度ネストせずに直接設定するだけViewで、ビュー階層に複雑なレイヤーが追加されます。
  3. どちらのビューも単独でスクロールできるため、TextViewまたはEditTextでラップする必要はありません。ScrollView

2 番目の質問について: キーボードがポップアップした状態でレイアウト領域がほとんど残っていない場合、Android がすべての UI コンポーネントを抽出するのを防ぐことができます。IME_FLAG_NO_EXTRACT_UIEditText または xml: でフラグを設定する必要がありますandroid:imeOptions="flagNoExtractUi"

Android がデフォルトでこの動作を行うのには理由があることを指摘したいと思います。ほとんどの場合、UI のごく一部を強制的に表示することはほとんど意味がありません。さらに、ユーザーが入力しているものはおそらく本当に重要であるためです。

于 2012-05-20T02:27:59.417 に答える
0

2 つのスクロール ビューのコンテンツではなく、layout_weight=1 と layout_height=0dp を設定してみてください。

于 2012-05-20T01:10:48.113 に答える