带有Clickable TextViews的Android ScrollView

时间:2013-01-04 13:16:18

标签: android intellij-idea scrollview

我目前正在处理应用程序的设计,而且我仍然坚持如何做到这一点。我的应用程序需要用户阅读特定信息的部分。

我的设计是这样的:

予。引言

  1. 第1部分
  2. 第2部分
  3. II。第二个主题

    1. part a
    2. part b
    3. 第1部分

      详细信息 - 长解释

      第2部分

      详细信息 - 长解释

      (续)

      编号的部分是可点击的,因此具有在滚动视图中转到某个部分的功能。 (例如,当单击1.第1部分时,它将转到1.第1部分,并在同一滚动视图中显示详细信息)这实际上就像在某些应用程序中看到的那样。

      此外,当用户未单击可点击的项目时,用户可以向下滚动所有写入的信息。而且我计划在后退按钮旁边有一个单独的按钮,如果用户想要的话,它将转到顶部或可点击的项目,当已经到达信息的远端部分时。

      以前,我在IntelliJ 12中使用了这个的绝对布局,但我读过一些论坛,使用绝对布局并不是不兼容滚动视图。所以我改为线性布局,即使我已经无法使用绝对布局设置我喜欢的x和y坐标。

      我的代码是否在正确的轨道上?或者还有另外一种方法可以做到这一点?

      这是我在XML部分中的代码:

      <?xml version="1.0" encoding="utf-8"?>
      
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:orientation="vertical"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:background="#ffffff">
      
      
      <ScrollView
              android:layout_width="fill_parent"
              android:layout_height="330dp"
              android:id="@+id/scrollView" android:layout_gravity="center">
          <LinearLayout
                  android:orientation="vertical"
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent" android:background="@drawable/white_paper_complete">
      
              <TextView
                      android:layout_width="48dp"
                      android:layout_height="wrap_content"
                      android:id="@+id/txt_space" android:layout_gravity="center"/>
              <TextView
                      android:layout_width="wrap_content"
                      android:layout_height="26dp"
                      android:text="I. INTRODUCTION"
                      android:id="@+id/textView" android:textStyle="bold" android:textColor="@android:color/black"
                      android:textSize="16dp" android:layout_y="19dp"
                      android:layout_gravity="left|center_vertical" android:layout_marginLeft="46dp"/>
              <TextView
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      android:text="              1. Tax Payer"
                      android:id="@+id/textView1" android:clickable="true" android:layout_x="55dp" android:layout_y="44dp"
                      android:linksClickable="false" android:textColor="@android:color/black"
                      android:layout_gravity="center|left"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="              2. Tax Identification Number (TIN)"
                        android:id="@+id/textView2" android:clickable="true" android:layout_x="55dp" android:layout_y="64dp"
                        android:linksClickable="false" android:textColor="@android:color/black"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="              3. National Internal Revenue Code" android:id="@+id/textView3" android:clickable="true"
                        android:layout_x="55dp" android:layout_y="84dp" android:linksClickable="false"
                        android:textColor="@android:color/black"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="              4. Republic Act No. 8424" android:id="@+id/textView4" android:clickable="true"
                        android:layout_x="55dp" android:layout_y="104dp" android:linksClickable="false"
                        android:textColor="@android:color/black"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="              5. Bureau of Internal Revenue (BIR)" android:id="@+id/textView5" android:clickable="true"
                        android:layout_x="55dp" android:layout_y="124dp" android:linksClickable="false"
                        android:textColor="@android:color/black"/>
              <TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
                        android:id="@+id/textView14" android:clickable="true" android:layout_x="55dp"
                        android:layout_y="235dp" android:linksClickable="false" android:textColor="@android:color/black"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="           II. INCOME TAX IN THE PHILIPPINES" android:id="@+id/textView6" android:textStyle="bold"
                        android:textColor="@android:color/black" android:textSize="16dp" android:layout_x="40dp"
                        android:layout_y="150dp"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="              1. Income Tax"
                        android:id="@+id/textView7" android:clickable="true" android:layout_x="55dp" android:layout_y="175dp"
                        android:linksClickable="false" android:textColor="@android:color/black"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="              2.Taxable Income"
                        android:id="@+id/textView8" android:clickable="true" android:layout_x="55dp" android:layout_y="195dp"
                        android:linksClickable="false" android:textColor="@android:color/black"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="              3.Who are exempted from Income Tax?" android:id="@+id/textView9" android:clickable="true"
                        android:layout_x="55dp" android:layout_y="215dp" android:linksClickable="false"
                        android:textColor="@android:color/black"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="              4. How are Income Taxes being paid?" android:id="@+id/textView10"
                        android:clickable="true" android:layout_x="55dp" android:layout_y="235dp"
                        android:linksClickable="false" android:textColor="@android:color/black"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="              5. Income Tax Return (ITR)" android:id="@+id/textView12"
                        android:clickable="true" android:layout_x="55dp" android:layout_y="235dp"
                        android:linksClickable="false" android:textColor="@android:color/black"
                        android:layout_gravity="center_vertical"/>
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="              6 Who are required to file ITR" android:id="@+id/textView13"
                        android:clickable="true" android:layout_x="55dp" android:layout_y="235dp"
                        android:linksClickable="false" android:textColor="@android:color/black"
                      />
              <TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:id="@+id/textView11"
                        android:clickable="true" android:layout_x="55dp" android:layout_y="235dp"
                        android:linksClickable="false" android:textColor="@android:color/black"
                      />
          </LinearLayout>
      </ScrollView>
      <Button
              android:layout_width="100dp"
              android:layout_height="40dp"
              android:text="Back"
              android:id="@+id/button" android:layout_gravity="center" android:background="@drawable/black_btn"
              android:textColor="#ffffff"/>
      </LinearLayout> 
      

      这是我的班级代码:

      public class Tutorial extends MyActivity
      {
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.tutorial_design);
      
          TextView a = (TextView) findViewById(R.id.txt_about) ;
         final TextView b = (TextView) findViewById(R.id.txt_info) ;
          TextView c = (TextView) findViewById(R.id.txt_calcu) ;
          TextView e = (TextView) findViewById(R.id.txt_exit) ;
      
         final ScrollView x = (ScrollView) findViewById(R.id.scrollView);
      
          a.setOnClickListener(new TextView.OnClickListener() {
              @Override
              public void onClick(View v)
              {
                      //int location_x[] = new int[85];
                     //int location_y[] = new int[200];
      
                      //x.getLocationOnScreen(location_x);
                 x.scrollTo(85,10000);
      
      
              }
          });
      }
      
      
      }
      

      请帮帮我。 :(任何帮助都会得到赞赏!:)

2 个答案:

答案 0 :(得分:1)

也许不是你想要的,但你应该更好地使用像<a href="#part1">这样的链接的单个HTML文档?

然后,您在WebView中显示HTML,您将同时拥有可点击链接和可滚动文本。

答案 1 :(得分:1)

查看您是否使用了requestRectangleOnScreen(rectangle)requestFocus()种方法。

例如: 如果点击 主题1.您知道主题的内容是由某个topicOneTextView或任何视图显示的。 然后尝试拨打

topicTextView.requestRectangleOnScreen(rectangle)

如有必要,将滚动。

希望这有帮助