这基本上就是我希望我的布局看起来像:
必须有一个空间将imageView与Text分开。在中心的确定按钮,但我认为主要的挑战是确保粗体文本与常规文本非常紧密地对齐(几乎触及尖端)并且在其上方。此外,增加的挑战是所有这一切必须使用ONLY线性布局完成。到目前为止,我一直在使用垂直方向线性布局,然后是水平方向线性布局。水平方向线性布局覆盖了imageView和常规文本。我的主要问题是我无法将粗体文本和常规文本按照我需要的方式对齐。
顺便说一句,我摆脱了所有的id和图像,因为这些都是私有的,但添加它们应该没问题。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginRight="0dp"
android:text="Bold Text"
android:textAlignment="center"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="13dp"
android:layout_marginTop="12dp"
android:src="@drawable/" />
<TextView
android:id="@+id/"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="Regular Text"
android:textColor="@color/black" />
</LinearLayout>
<Button
android:id="@+id/"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ok"
/>
</LinearLayout>
答案 0 :(得分:4)
除非这是针对学校项目或其他事情,否则我实际上不会使用这样的嵌套布局。
<ImageView
android:id="@+id/imageView2"
android:layout_width="wrap_content"
android:layout_height="10dp"
android:layout_weight="1"
android:adjustViewBounds="true"
android:cropToPadding="false"
android:scaleType="fitXY"
android:layout_gravity="center_vertical"
app:srcCompat="@drawable/ic_launcher_background" />
编辑:
registration
答案 1 :(得分:0)
父级应该是垂直线性布局,就像现在一样。
第一个孩子应该是水平线性布局
第一个孩子应该是ImageView
第二个孩子应该是BOLD TEXT with gravity = center_horizontal
你父母的第二个孩子应该是普通文本Blah Blah Blah,重力= center_horizontal
父母的第三个孩子应该是重力= center_horizontal
的确定按钮
如果你想在事情之前添加更多空间,请给他们android:marginStart =&#34; some_value&#34;
答案 2 :(得分:0)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/white"
android:padding="16dp"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView
android:id="@+id/img"
android:layout_width="75dp"
android:layout_height="50dp"
android:layout_marginEnd="16dp"
android:src="@drawable/dummy_camera" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="40dp"
android:text="Bold Text"
android:gravity="bottom"
android:textColor="@color/black"
android:textSize="18sp"
android:textStyle="bold" />
<TextView
android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="20dp"
android:gravity="top"
android:text="Regular Text"
android:textColor="@color/black" />
</LinearLayout>
</LinearLayout>
<Button
android:id="@+id/btn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Ok" />
</LinearLayout>
答案 3 :(得分:-1)
将其添加到TextView参数:
android:baselineAlignBottom="true"