【问题标题】:Android Custom Tabview LayoutAndroid 自定义 Tabview 布局
【发布时间】:2019-03-12 11:02:01
【问题描述】:

我正在尝试制作自定义选项卡视图设计,默认情况下,他在 android 中的选项卡视图是内联的,但我希望他们喜欢下面的图片。关于我们如何在不丢失 tabview 的原生特性的情况下实现这种设计的任何线索?

我想创建如下图所示的标签视图。

是否可以在 Android 中使用 Java 和 XML 制作这样的 tabview?

【问题讨论】:

  • 我想确定一下 - 你想把这个视图(在图片中)放在一边
  • 是的,我想做上面的tablayout设计
  • 检查我的答案

标签: android xml android-recyclerview android-constraintlayout


【解决方案1】:

您可以为此使用各种不同的布局,但考虑到不同屏幕尺寸的最佳选择是使用ConstraintLayout

这是一个例子:

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/frameLayout2"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Fragments.MenusDesign.ExpandableCategoriesMenu.ExpandableCategoriesMenu"
tools:layout_editor_absoluteY="81dp">


<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    android:hint="Personal info"
    android:text="Personal info"
    app:layout_constraintBottom_toBottomOf="@+id/switch1"
    app:layout_constraintEnd_toStartOf="@+id/guideline3"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="@+id/switch1" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    android:text="Full name"
    app:layout_constraintBottom_toTopOf="@+id/guideline2"
    app:layout_constraintEnd_toEndOf="@+id/textView4"
    app:layout_constraintStart_toStartOf="@+id/textView4"
    app:layout_constraintTop_toTopOf="@+id/guideline5" />

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    app:layout_constraintGuide_percent="0.7" />

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    app:layout_constraintGuide_percent="0.3" />

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    app:layout_constraintGuide_percent="0.5" />

<Switch
    android:id="@+id/switch1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    app:layout_constraintBottom_toTopOf="@+id/guideline5"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="@+id/guideline3"
    app:layout_constraintTop_toTopOf="@+id/guideline4" />

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_percent="0.5"/>

【讨论】:

  • 感谢您的回答,但是如果我开始制作自定义布局,那么我将失去所有本机功能,例如在片段之间滑动或滑动、片段生命周期等有没有办法使用本机组件来做到这一点?
  • 你不太清楚 - ConstraintLayout 是原生的,它不是什么特别的东西。你能解释一下为什么这不能是你的片段布局(我认为它不会影响任何东西,但布局会是​​什么样子)?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-25
  • 2016-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多