android - 如何在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>
这是输出:
解决方案
是的,您可以通过给它一个高度来在按钮的左侧添加文本视图。设置 textview 的约束:从顶部到按钮顶部,从开始到按钮开始,从底部到按钮底部。然后添加elevation,这样textview就会显示在按钮上方。
推荐阅读
- bash - bash 4.1.2(2):如何在 for 循环中应用正则表达式逆匹配?
- php - 如何将特定的 json 值保存在文件中?
- python-3.x - 从 git-hub 安装 python 软件时出错
- mvvm - 在 Knockout 视图模型中捕获差异/增量有效负载
- ios - 无法在视图控制器上为表视图和分段控制添加约束
- assembly - atmel studio 1到100之间的数字之和
- outlook - 如何在 Outlook Web 加载项中选择范围并更改特定单词的字体颜色
- sql - FieldType为子页面时的Oracle SQL递归查询
- pytest - 如何使用 `pytest.raises` 遍历值组合,并找出哪个组合失败?
- eclipse - Eclipse IDE 2020‑03 调试器正在做奇怪的事情