3

ここで簡単な質問です。スクロールビュー内に編集テキストがあります。これがedittextに関する私のコードです

 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
 >

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="899dp" >

<LinearLayout
    android:id="@+id/LL1"
    android:layout_width="match_parent"
    android:layout_height="320dp"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="50dp"
    android:orientation="vertical" >

    <ImageView
        android:id="@+id/ivMainPic"
        android:layout_width="match_parent"
        android:layout_height="320dp"
         />

</LinearLayout>

<TextView
    android:id="@+id/tvDescription"
    android:layout_width="match_parent"
    android:layout_height="50dip"
    android:layout_below="@+id/LL1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="25dp"
    android:text="@string/strDescription"
    android:textSize="14dp" 
    android:layout_marginLeft="30dip"
    android:layout_marginRight="30dip"/>

<TextView
    android:id="@+id/tvCondition"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/tvDescription"
    android:layout_marginTop="20dp"
    android:layout_marginLeft="20dip"
    android:text="@string/strCondition"
    android:textStyle="bold"
    android:textAppearance="?android:attr/textAppearanceMedium" />



<Button
    android:id="@+id/btnGetOffer"
    style="?android:attr/buttonStyleSmall"
    android:layout_width="match_parent"
    android:layout_height="40dip"
    android:layout_below="@+id/etConditionBody"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="18dp"
    android:text="@string/strGetOffer"
    android:layout_marginLeft="20dip"
    android:layout_marginRight="20dip" 
    android:background="@drawable/roundedcorner"
    android:textStyle="bold" />

<TextView
    android:id="@+id/etConditionBody"
    android:layout_width="match_parent"
    android:layout_height="300dp"
    android:layout_below="@+id/tvCondition"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="26dp" 
    android:layout_marginLeft="20dip"
    android:layout_marginRight="20dip"
    android:gravity="top"
    android:paddingBottom="20dip"
    android:paddingLeft="20dip"
    android:paddingRight="20dip"
    android:paddingTop="20dip"
    android:scrollbars="vertical" 
    android:background="@drawable/edittextborder"/>

</RelativeLayout>
</ScrollView>

今私がやっていることは、スクロール可能で編集不可能な編集テキストにすることです。これは、データベースでテキストを取得しているためです。このコードを使ってみました

etConditionBody= (EditText) findViewById(R.id.etConditionBody);
etConditionBody.setScroller(new Scroller(getBaseContext())); 
etConditionBody.setMaxLines(8); 
etConditionBody.setVerticalScrollBarEnabled(true); 
etConditionBody.setMovementMethod(new ScrollingMovementMethod());
etConditionBody.setText("wew \n wew2 \n wew3 \n wew4 \n wew \n wew2 \n wew3 \n wew4 \n wew \n wew2 \n wew3 \n wew4 \n wew3 \n wew4 \n wew \n wew2 \n wew3 \n taena");

しかし、それはスクロールではなく、私の行を8に制限するだけです

このリンクに基づいてそのコードを使用し ました プログラムで編集テキストの垂直スクロールバーを有効にする 方法 Androidで編集テキストをスクロール可能にする方法? しかし、それは機能していません

4

4 に答える 4

3

これには、edittextの代わりにTextViewを使用します。スクロールには、次のようなスクロールビューを使用できます。

<ScrollView
    android:layout_width="match_parent"
    android:layout_height="300dp">

<TextView
    android:id="@+id/tvConditionBody"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
/>

</ScrollView>
于 2012-08-30T09:14:12.900 に答える
0

あなたが etConditionBody.setMaxLines(8); 言うように、layout_heightパラメーターをオーバーライドするため、常に8行しか表示されません。setMaxLines を削除し、layout_height を最小化します。するとスクロールします。

于 2012-08-30T09:24:06.607 に答える
0

最大行を指定する代わりに、EditTextHeight を減らします。

例:

レイアウト :

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

<EditText
    android:id="@+id/etConditionBody"
    android:layout_width="fill_parent"
    android:layout_height="300dp" >
</EditText>

</LinearLayout>

コード :

etConditionBody = (EditText) findViewById(R.id.etConditionBody);
    etConditionBody.setScroller(new Scroller(getBaseContext()));
    etConditionBody.setVerticalScrollBarEnabled(true);
    etConditionBody.setMovementMethod(new ScrollingMovementMethod());
    etConditionBody
            .setText("wew \n wew2 \n wew3 \n wew4 \n wew \n wew2 \n wew3 \n wew4 \n wew \n wew2 \n wew3 \n wew4 \n wew3 \n wew4 \n wew \n wew2 \n wew3 \n taena");
于 2012-08-30T09:18:45.983 に答える
0

次のコードで対応するJavaファイルを更新します

 EditText etText = (EditText) findViewById(R.id.etText);       
 dwEdit.setOnTouchListener(new OnTouchListener() {
       public boolean onTouch(View view, MotionEvent event) {

            if (view.getId() ==R.id.DwEdit) {
                view.getParent().requestDisallowInterceptTouchEvent(true);
                switch (event.getAction()&MotionEvent.ACTION_MASK){
                case MotionEvent.ACTION_UP:
                    view.getParent().requestDisallowInterceptTouchEvent(false);
                    break;
                }
            }
            return false;
        }
    });
于 2016-11-09T07:47:21.660 に答える