Android textView scroll - PullRequest
       21

Android textView scroll

0 голосов
/ 10 февраля 2012

Я пытался разработать приложение для Android, которое содержало бы действие, которое можно прокручивать, и внутри этого действия. У меня есть 2 textView, которые я также хочу, чтобы их можно было прокручивать.коснитесь внутри textView, покажутся свитки, но основная часть действия, которая является linearLayout, непосредственно фокусирует фокус, и больше не текстовая прокрутка

, как у меня сейчас, это настройка для textView для прокрутки в файле xmlЯ сделал это.и если я продолжу поднимать палец и снова положу его на экран, пытаясь прокрутить textView, я могу немного переместиться, но, как я уже сказал, компоновка, содержащая textView, захватывает фокус и оставляет меня неспособным прокручивать textView.

Я надеюсь, что я очень хорошо объяснил свою проблему.

Пожалуйста, любые предложения, чтобы помочь.


позвольте мне объяснить, как приложение построено первая первая часть: основной(первое) действие - это tabHost, который я определил как прокручиваемый

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" > 
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >   
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="422dp" >
</FrameLayout>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="63dp" >
</TabWidget>
</LinearLayout>
</ScrollView>
</TabHost>

, где у меня возникли проблемы с этим действием

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/light_gray_color" 
android:layout_height="match_parent" 
android:layout_width="match_parent" 
android:weightSum="1" 
android:orientation="vertical"

android:baselineAligned="false">

<LinearLayout 
android:id="@+id/linearLayout3" 
android:orientation="vertical" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:layout_weight="0.04">

<TextView 
android:textAppearance="?android:attr/textAppearanceLarge" 
android:layout_height="wrap_content" 
android:layout_width="wrap_content" 
android:textColor="@color/black_color" 
android:layout_gravity="center_horizontal" 
android:text="@string/display_label" 
android:id="@+id/display_label">
</TextView>

</LinearLayout>


<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="0.83"
android:baselineAligned="false"
android:orientation="horizontal" >


<ScrollView
android:id="@+id/english_scrollView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.03" >

<TextView
android:id="@+id/display_english_textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="2px"
android:layout_marginRight="2px"
android:layout_weight="0.03"
android:background="@drawable/black_rectangle"
android:focusable="true"
android:paddingLeft="2px"
android:paddingRight="2px"
android:scrollbars="vertical"
android:textColor="@color/black_color" />

</ScrollView>


<ScrollView
android:id="@+id/translation_scrollView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_weight="0.03" >

<TextView
android:id="@+id/display_translation_textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="2px"
android:layout_marginRight="2px"
android:layout_weight="0.03"
android:background="@drawable/black_rectangle"
android:focusable="true"
android:paddingLeft="2px"
android:paddingRight="2px"
android:scrollbars="vertical"
android:textColor="@color/black_color" />

</ScrollView>
</LinearLayout>

</LinearLayout>

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Насколько я понимаю, у вас есть вертикальная прокрутка, которая содержит два вертикально прокручиваемых текстовых представления? Если это так, вы не можете сделать это. Это не просто неудачный выбор дизайна, буквально невозможно определить, какой вид пользователь намерен прокручивать, когда он совершает движение пальцем. Вы можете иметь горизонтальную прокрутку в режиме вертикальной прокрутки или наоборот. Вы не можете иметь горизонтальную прокрутку внутри горизонтальной прокрутки или вертикальную прокрутку внутри вертикальной прокрутки.

Я полагаю, это упоминается в обзоре списка на конференции Google io 2010 года: http://www.youtube.com/watch?v=wDBM6wVEO70

0 голосов
/ 10 февраля 2012

Я думаю, вы должны вырезать <ScrollView> из первого xml

<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >   
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="422dp" >
</FrameLayout>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="63dp" >
</TabWidget>
</LinearLayout>
</TabHost>
...