【问题标题】:Android: Using 2 layouts in one layoutAndroid:在一个布局中使用 2 个布局
【发布时间】:2012-09-12 21:15:55
【问题描述】:

我有一些 FrameLayout 来显示重叠的图像。在此 FrameLayout 下,我想显示一些点击操作的标准按钮。

为了让我的工作更轻松,我想,我可以在 FrameLayout 下放置一个新的线性或相对布局 - 肯定都在一个 LinearLayout 中。

但是这种方法对我不起作用。

在整个 FrameLayout 下显示我的按钮而不将其放入布局中并以编程方式管理其位置的最佳方式是什么?

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<FrameLayout
    android:id="@+id/framelayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="top|left" >
     <ImageView
         android:id="@+id/coverimg"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:layout_gravity="top|left"
         android:maxHeight="100dp"
         android:minHeight="130dp"
         android:minWidth="130dp"
         android:src="@drawable/cover_img" />
     <ImageView
         android:id="@+id/imageView2"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_gravity="center_vertical"
         android:layout_marginLeft="100dp"
         android:src="@android:drawable/ic_media_play" />
<ProgressBar
        android:id="@+id/progressBar1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
        android:visibility="gone" />
</FrameLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:text="Button" />
</LinearLayout>
</LinearLayout>

【问题讨论】:

    标签: java android layout button android-framelayout


    【解决方案1】:

    首先要说: 您的第一个 LinearLayout 的方向是错误的。您应该使用垂直而不是水平,因为它会显示图像右侧而不是下方的按钮。

    秒: 无需将按钮包装到另一个 LinearLayout 中,因为它是一个单独的项目并附加到您的第一个 LinearLayout。

    第三: 要将按钮设置在另一个“位置”,请为您的顶部 LinearLayout 提供一个 ID,例如 'android:id="@+id/myLinear"',然后使用以下代码:

    LinearLayout myLinear = (LinearLayout)this.findViewById(R.id.myLinear);
    LayoutParams lp = new LinearLayout.LayoutParams(Gravity.CENTER);
    myLinear.setLayoutParams(lp);
    

    也许这对:

    LinearLayout myLinear = (LinearLayout)this.findViewById(R.id.myLinear);
    myLinear.setLayoutParams(new LinearLayout.LayoutParams(Gravity.CENTER));
    

    希望我能帮到你吗?

    【讨论】:

      【解决方案2】:

      首先您将线性布局方向更改为垂直,其次无需使用另一个

      布局你可以直接放按钮

      例如:android:orientation="vertical"

      【讨论】:

        猜你喜欢
        • 2017-07-06
        • 1970-01-01
        • 2018-09-11
        • 2021-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-16
        相关资源
        最近更新 更多