当前位置: 首页 > 知识库问答 >
问题:

在LinearLayout中定位组件

彭霄
2023-03-14

我无法在线性布局中精确定位零部件。LinearLayout是水平的(ImageButton文本查看ImageButton)。下图显示了问题。相对于ImageButtons,数字(文本视图)没有垂直或水平居中。(红线表示中心)。正如您在代码中所看到的,我将TextView组件布局设置为center | center。数字始终在0到99之间。

    <LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_gravity="center_horizontal"
    android:layout_margin="25dip"
    android:layout_weight="1" >

    <ImageButton
        android:id="@+id/game4PreviousButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="4dp"
        android:background="@null"
        android:contentDescription="@string/previousbutton"
        android:enabled="false"
        android:onClick="clickCheck"
        android:src="@drawable/previousbutton" />

    <TextView
        android:id="@+id/game4Step"
        android:layout_width="80dip"
        android:layout_height="wrap_content"
        android:layout_gravity="center|center"
        android:layout_marginLeft="75dp"
        android:layout_marginRight="75dp"
        android:contentDescription="@string/game4step1"
        android:text=""
        android:textColor="#FFFFFF"
        android:textSize="50sp"
        android:textStyle="bold" />

    <ImageButton
        android:id="@+id/game4NextButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="4dp"
        android:background="@null"
        android:contentDescription="@string/nextbutton"
        android:enabled="true"
        android:onClick="clickNext"
        android:src="@drawable/nextbutton" />
</LinearLayout>

共有2个答案

澹台锐
2023-03-14

我假设LinearLayout不是xml父元素,因为没有

我相信您正在寻找以下内容:

<TextView
    android:id="@+id/game4Step"
    android:layout_width="80dip"
    android:layout_height="match_parent"
    android:layout_gravity="center_vertical"
    android:layout_marginLeft="75dp"
    android:layout_marginRight="75dp"
    android:contentDescription="@string/game4step1"
    android:text=""
    android:textColor="#FFFFFF"
    android:textSize="50sp"
    android:textStyle="bold" />

同时将LinearLayout更改为

android:<--pl hd--0/>="<--pl hd--1/>"

可以删除android:layout\u weight=“1”

并制作两个IMageButton

android:layout\u height=“match\u parent”

印曜灿
2023-03-14

试试这个。。

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageButton
                android:id="@+id/game4PreviousButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="4dp"
                android:background="@null"
                android:contentDescription="@string/previousbutton"
                android:enabled="false"
                android:gravity="center"
                android:onClick="clickCheck"
                android:src="@drawable/previousbutton" />
        </LinearLayout>

        <TextView
            android:id="@+id/game4Step"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:contentDescription="@string/game4step1"
            android:gravity="center"
            android:text="01"
            android:textSize="50sp"
            android:textStyle="bold" />

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="horizontal" >

            <ImageButton
                android:id="@+id/game4NextButton"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_margin="4dp"
                android:background="@null"
                android:contentDescription="@string/nextbutton"
                android:enabled="true"
                android:gravity="center"
                android:onClick="clickNext"
                android:src="@drawable/nextbutton" />
        </LinearLayout>
    </LinearLayout>
 类似资料:
  • activity\u checklist\u详细信息。xml 以下是ChecklistDetail活动 但对我来说什么都不管用。如果我将activity\u checklist\u detail中的布局更改为水平或垂直,我将得到下图。 注意:我知道使用RecyclerView是最好的选择,但这里我没有很多项目。提前谢谢。

  • 在Sencha Touch/Ext JS中如何定位组件(尤其是百分比或比例)的答案似乎是使用某种类型的容器和布局类型。 对我来说,这似乎是倒退了一步——类似于超文本标记语言表用于网页布局。创建一个控制布局的包含结构,在每个“单元格”中都有一些内容。 具体地说,如果您有一个组件,您不希望根据这些规则调整其大小,那么只需定位即可——这就是所有Sencha Touch/Ext JS方法的基本原理。 布局

  • 问题内容: 我有一个非常烦人的问题: 在我的小部件中,我想通过代码更改背景。我在Google文档上注意到,我可以轻松更改Imageview的背景: 好的,太容易了,我现在想更改线性布局。我所读到的有关remoteview ID的信息是,我可以更改位图,整数,布尔,字符串等,但是不能绘制。所以我想我不能使用: 我完全失望,并尝试了最后一个主意: 但是logcat告诉我: android.widget

  • 试图将我的旁边的表单与对齐,我正在努力将组件放到面板顶部。我需要价格标签和字段就在商品标签和字段下面,但我无法让它从面板底部移动。 如果我使用,这会将项目标签和字段移到顶部,但随后我就失去了用锚定它的能力。除非有办法两者兼得?请看我试图展示我想要放置表格的区域的图片。谢谢你的帮助。

  • 我需要一个帮助来定位一个JPanel在一个特定的位置到一个Jframe。 我在一个扩展JFrame的类中有一个JPanel,我需要将这个JPanel放在一个特定的x,y位置。 是这样的: 我不需要一个LayoutManager的位置的JPanel,因为我需要把JPanel在一个特定的位置(像150,150的例子)。但是如果我panel.set位置(150,150),就像上面的代码一样,什么都不会发

  • 6.2.1.LinearLayout (to 编辑:这里LinearLayout若直接翻译成中文并不合适,因为它们在指代某种布局的同时,更是特指Android框架中的某个类。) LinearLayout(线性布局)是最简单的Layout之一,只是简单地纵向或者横向排列它的子元素。它会按顺序计算每个子元素需要的空间,如果一个“较早加入的”元素占据了整个屏幕大小,后面的元素就显示不出来了。因此子元素的