android - android xml中的文本布局不正确
问题描述
我在 android 中的布局有问题。基本上我的文本显示在一行中,如下所示:
@string/否 @string/day_mainpage @string/否
但是,我希望文本@string/day_mainpage @string/no显示在第一个@string/no下方,就像这样:
@string/no
@string/day_mainpage @string/no
如何更改 xml 以满足此要求?
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="@dimen/_10sdp"
android:orientation="horizontal"
android:padding="@dimen/_10sdp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal">
<com.example.tecocraft.challenge_reward.widget.ButtonTextViewBold
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black_dark"
android:textSize="@dimen/_20sdp"
android:textStyle="bold"
android:visibility="gone" />
<com.example.tecocraft.challenge_reward.widget.ButtonTextViewBold
android:id="@+id/main_page_no1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_5sdp"
android:layout_marginRight="@dimen/_5sdp"
android:text="@string/no"
android:textColor="@color/black_dark"
android:textSize="@dimen/_15sdp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="horizontal">
<com.example.tecocraft.challenge_reward.widget.ButtonTextViewBold
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/day_mainpage"
android:textColor="@color/black_dark"
android:textSize="@dimen/_15sdp"
android:textStyle="bold" />
<com.example.tecocraft.challenge_reward.widget.ButtonTextViewBold
android:id="@+id/main_page_no2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/_5sdp"
android:text="@string/no"
android:textColor="@color/black_dark"
android:textSize="@dimen/_15sdp" />
</LinearLayout>
</LinearLayout>
解决方案
这是因为您的父布局具有水平方向:每个子视图都显示在一列中。LinearLayout 是一个视图组,可将所有子项在一个方向(垂直或水平)上对齐。
因此,正如评论中所说,只需将最外面的 LinearLayout 的方向更改为垂直
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:orientation="vertical"> <-- This one
...
</LinearLayout>
你可以在这里了解更多。
推荐阅读
- c++ - 如何解决“错误 LNK2019:无法解析的外部符号”?
- vue.js - Vue - 在一个可重用的组件中,只为相应的组件运行一个方法
- ios - 使用未解析的标识符“className”:Xcode 识别文件中定义的所有类,除了一个
- php - 谷歌图表饼图显示其他 100%
- c# - 如何从占位符文本中获取输入元素 ID?
- javascript - 如何在Vue项目中存储要翻译的字符串
- c++ - 在类文件中使用用户定义的类向量
- python - Python win32api 打印机在不同机器上无法始终如一地工作
- android - RecyclerView 中的弹出菜单在不同的项目中工作
- java - 为什么端口 9721 间歇性拒绝在 Windows Server 2012 R2 上运行的 Apache Tomcat 8.5 上的连接?