2013-01-04 6 views
2

현재 응용 프로그램의 디자인을 다루고 있으며, 어떻게 수행하는지에 익숙합니다. 내 앱에는 사용자가 특정 정보를 읽는 부분이 필요합니다.Clickable TextViews가있는 Android ScrollView

내 설계는 다음과 같이 진행됩니다

I. 소개

  1. 1 부
  2. 2 부

II. SECOND 화제

  1. 여기 파트 A
  2. 1 부

    부분

B 세부 사항을 - 긴 설명

2 부

여기에3210 개

세부 사항 - 긴 설명

(계속)

번호가 매겨진 부분을 클릭 할 수 있으며, 따라서 스크롤 뷰의 특정 부분으로 이동하는 기능을 가지고있다. (예 : 1. 파트 1을 클릭하면 동일한 스크롤보기의 세부 정보와 함께 파트 1의 부분으로 이동합니다.) 이것은 실제로 일부 앱에서 보이는 것과 같습니다.

또한 사용자가 클릭 가능한 항목을 클릭하지 않으면 사용자는 작성된 모든 정보를 아래로 스크롤 할 수 있습니다. 그리고 나는 사용자가 원하는 경우 상단 부분이나 클릭 가능한 항목으로 이동하는 뒤로 버튼과는 별도로 별도의 버튼을 가질 계획입니다. 이미 정보의 먼 부분에 도달했을 때입니다.

이전에는 IntelliJ 12의 절대 레이아웃을 사용하고 있지만 절대 레이아웃을 사용하는 것은 아니며 스크롤보기와 호환되지 않는 포럼을 읽었습니다. 그래서 선형 레이아웃으로 변경했는데, 절대 레이아웃으로 좋아하는 x와 y 좌표를 설정할 수 없습니다.

올바른 코드를 사용하고 있습니까? 아니면 다른 방법으로이 작업을 수행 할 수 있습니까?

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); 


     } 
    }); 
} 


} 

이 제발 도와주세요 : 이것은 그 클래스에 대한 내 코드

<?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> 

입니다 :

이것은 XML 부분에 내 코드입니다. :(도움이 될 것입니다! :)

답변

1

아마도 당신이 찾고있는 것이 아니지만, <a href="#part1">과 같은 링크가있는 단일 HTML 문서를 사용하는 것이 더 나아야할까요?

그런 다음 HTML을 WebView에 표시하면 클릭 가능한 링크와 스크롤 가능한 텍스트가 모두 표시됩니다.

+0

고마워요! 그러나 텍스트 뷰를 클릭 할 때 특정 파트에서 스크롤 뷰를 설정하려면 어떻게해야합니까? –

+0

필요가 없습니다! 그것이 하이퍼 링크이고 WebView가 자체적으로 스크롤하기 때문에 스크롤합니다. – Axarydax

+0

당신은 천국이 보낸 것 같습니다! 정말 고맙습니다! : D –

1

requestRectangleOnScreen(rectangle) 또는 requestFocus()보기의 방법을 사용하십시오.

예 : 클릭 수 : 주제 1. 특정 topicOneTextView 또는 모든보기에서 해당 주제에 대한 내용을 볼 수 있습니다. 전화 걸기

topicTextView.requestRectangleOnScreen(rectangle) 

이렇게하면 필요한 경우 스크롤됩니다.

희망이 있습니다.

+0

음, 그럴 필요가 있습니다. –

+0

흠,이 접근법과 관련하여 각 세부 설명에 대해 별도의보기가 필요합니까? @Changdeo Jadhav –

+0

좋아, 이걸 시도해 볼게. 고마워. :) –