首页 > 解决方案 > 如何在android中将textview添加到按钮的左侧

问题描述

我正在android中开发测验应用程序,我必须在左侧的按钮内显示选项A、B、C、D。

所以我知道一种方法,可以通过按钮的 drawableLeft 属性设置图像。但是放四张图就不太好了。所以我想知道是否有任何其他方式可以在按钮内设置 textview 或其他方式?

这是我的xml代码:

 <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activities.QuizDashboardActivity">

    <ScrollView
        android:id="@+id/scrollView4"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.0"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.0">

        <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/imageView"
                android:layout_width="match_parent"
                android:layout_height="300dp"
                android:scaleType="fitXY"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:srcCompat="@drawable/ic_banner" />

            <TextView
                android:id="@+id/tv_question_no"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="24dp"
                android:text="1"
                android:gravity="center"
                android:textAlignment="center"
                android:background="@drawable/custom_textview"
                android:textColor="@android:color/white"
                android:textSize="@dimen/question_no"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/tv_appname" />

            <TextView
                android:id="@+id/tv_appname"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginTop="90dp"
                android:fontFamily="@font/sansita_one"
                android:text="@string/app_name"
                android:textColor="@android:color/white"
                android:textSize="@dimen/app_title"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent" />

            <TextView
                android:id="@+id/tv_question"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="100dp"
                android:layout_marginEnd="16dp"
                android:text="@string/q1"
                android:textAlignment="center"
                android:textColor="@android:color/black"
                android:textSize="@dimen/question"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/tv_question_no" />

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="16dp"
                android:layout_marginTop="40dp"
                android:layout_marginEnd="16dp"
                android:orientation="vertical"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/tv_question">

                <Button
                    android:id="@+id/A"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/button_margin"
                    android:layout_marginBottom="@dimen/button_margin"
                    android:background="@drawable/custom_button"
                    android:text="@string/q1_a"
                    android:textColor="@android:color/black" />

                <Button
                    android:id="@+id/B"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/button_margin"
                    android:background="@drawable/custom_button"
                    android:text="@string/q1_b"
                    android:textColor="@android:color/black" />

                <Button
                    android:id="@+id/C"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/button_margin"
                    android:background="@drawable/custom_button"
                    android:text="@string/q1_c"
                    android:textColor="@android:color/black" />

                <Button
                    android:id="@+id/D"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="@dimen/button_margin"
                    android:background="@drawable/custom_button"
                    android:text="@string/q1_d"
                    android:textColor="@android:color/black" />


            </LinearLayout>

        </android.support.constraint.ConstraintLayout>
    </ScrollView>

</android.support.constraint.ConstraintLayout>

这是输出:

在此处输入图像描述

标签: androidxmlandroid-studioandroid-layout

解决方案


是的,您可以通过给它一个高度来在按钮的左侧添加文本视图。设置 textview 的约束:从顶部到按钮顶部,从开始到按钮开始,从底部到按钮底部。然后添加elevation,这样textview就会显示在按钮上方。


推荐阅读