gpt4 book ai didi

java - 将 TableLayout 中的单元格内容右对齐

转载 作者:行者123 更新时间:2023-12-02 03:53:11 27 4
gpt4 key购买 nike

我对 Android 开发还比较陌生。我有一个带有 TableLayout 的 Activity 。该 Activity 的构建如下图所示。

Activity

我希望两个较小的按钮位于右侧,以便两个 EditText 都可以使用完整的剩余宽度。我还尝试像一些帖子建议的那样设置“android:gravity”,但没有任何效果。我该如何完成这项工作?

此外,我还有 2 个 tableRows 分别用于包含信息、文本和按钮的两行。 Activity 的其余部分超出任何 tableRow 以获得全角。这是常用的还是糟糕的编程?如果可以的话,更好的方法是什么?

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">


<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/strInputInfo"
android:id="@+id/lblHexToRGB"
android:layout_column="1" />


<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/txtHexInput"
android:layout_column="1"
android:textCursorDrawable="@null"
android:hint="@string/strHexInputHint" />

<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/strConvertButtonText"
android:id="@+id/cmdConvertCode"
android:layout_column="1"/>

<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent">

<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/strRGBInfo"
android:id="@+id/lblRGBInfo"
android:layout_column="0" />

<EditText
android:layout_width="350px"
android:layout_height="wrap_content"
android:id="@+id/txtOutputRGB"
android:textCursorDrawable="@null"
android:layout_column="1"
android:textAlignment="center"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/strButtonCopyText"
android:id="@+id/cmdCopyRGBToClipboard"
android:layout_column="2"
android:layout_gravity="right"/>
</TableRow>


<TableRow
android:layout_width="wrap_content"
android:layout_height="match_parent">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="@string/strHexInfo"
android:id="@+id/lblHexInfo"
android:layout_column="0"/>

<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/txtOutputHex"
android:layout_column="1"
android:textAlignment="center"/>

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/strButtonCopyText"
android:id="@+id/cmdCopyHexToClipboard"
android:layout_column="2"/>
</TableRow>


<ImageView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:layout_column="1"
android:maxHeight="100dp"
android:minHeight="100dp" />
</TableLayout>

最佳答案

TableRow 布局与 LinearLayout 完全相同(事实上,它是 LinearLayout 的子类),因此您可以使用 LinearLayout 中的layout_weight 属性来允许行中的 View 扩展以填充与其他 View 相关的空间。它的行。

例如,您的 EditText 可以是:

<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:id="@+id/txtOutputRGB"
android:textCursorDrawable="@null"
android:layout_column="1"
android:textAlignment="center"/>

请注意,宽度为 0,权重为 1。当行中其他 View 的权重为 0(默认)时,这会告诉 TableRow 为 EditText 分配尽可能多的空间,而其他 View 则获得渲染所需的最小空间量。

关于java - 将 TableLayout 中的单元格内容右对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35706459/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com