@TurinoDsgnr

Android Studio как реализовать якорные ссылки в элементе LinearLayout?

У меня есть страница, она состоит из нескольких TextView внутри тэга LinearLayout. Как сделать ссылку при нажатии на которую экран скроллится до определённого TextView. Например, первая ссылка скроллит экран до @string/faq01, вторая до @string/faq02 и т.д.

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="10sp"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20sp"
            android:text="@string/links"
            android:textSize="18sp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20sp"
            android:text="@string/faq01"
            android:textSize="18sp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20sp"
            android:text="@string/faq02"
            android:textSize="18sp"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginBottom="20sp"
            android:text="@string/faq02"
            android:textSize="18sp"/>

    </LinearLayout>
  • Вопрос задан
  • 191 просмотр
Пригласить эксперта
Ответы на вопрос 1
@WaterSmith
Android-разработчик. Java, Kotlin
Вешать на TextVew onClickListener, который будет скроллить в нужное место.
В рамках xml, без кода, вы эту задачу не решите.

Если хотите сделать красиво, можете сделать свой кастомный View (какой-нибудь LinkedTextView) унаследованный от TextView. В нем вы сможете хранить ссылку на другой View на который переходить, и определить дефолтное поведение при клике.
Тогда такому View можно будет назначать ссылку через атрибут в xml. Такой подход очень хорош для переиспользования, но в целом реализация будет сложнее, чем просто повесить листнер.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы