【问题标题】:Toggle Button disappears in my Android's xml layout切换按钮在我的 Android 的 xml 布局中消失了
【发布时间】:2015-05-21 20:14:56
【问题描述】:

我有以下布局,其中包含一个大小的表面视图。我正在以编程方式添加表面视图。我正在使用叠加技术将较小的预览放在较大的视图之上。我想添加一个切换按钮,但不幸的是该按钮隐藏了自己,但是当您按下屏幕时它会起作用。我较大的 sufaceview 绘制位图,而较小的预览显示其他内容。以下是我的代码:

<FrameLayout 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"
    tools:context="${relativePackage}.${activityClass}" >
    <FrameLayout
        android:id="@+id/big_preview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </FrameLayout>
   <FrameLayout
        android:id="@+id/small_preview"
        android:layout_width="120dp"
        android:layout_height="160dp"
        android:layout_gravity="top|right"
        android:layout_marginRight="20dp"
        android:layout_marginTop="20dp" >
    </FrameLayout>
      <FrameLayout
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|center_horizontal"
        android:layout_marginBottom="20dp"
        android:alpha="0.5"
        android:background="@android:color/white"
        android:padding="10dp" >
        <ToggleButton
            android:id="@+id/btn"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/button_selector"
            android:checked="true"
            android:padding="10dp"
            android:text=""
            android:textOff=""
            android:textOn="" />
    </FrameLayout>
</FrameLayout>

【问题讨论】:

  • 您希望切换按钮出现在哪里?
  • 在较大的表面视图的底部。问题是它为什么会消失?

标签: android xml layout surfaceview android-framelayout


【解决方案1】:

我以编程方式解决了这个问题: 我给了我的 FrameLayout 一个 ID,例如:

<FrameLayout
        android:id="@+id/buttonprev"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_gravity="bottom|center_horizontal"
        android:layout_marginBottom="20dp"
        android:alpha="0.5"
        android:background="@android:color/white"
        android:padding="10dp" >
        <ToggleButton
            android:id="@+id/btn"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="@drawable/button_selector"
            android:checked="true"
            android:padding="10dp"
            android:text=""
            android:textOff=""
            android:textOn="" />
    </FrameLayout>

然后:

btnLayout=(FrameLayout) findViewById(R.id.buttonprev);
btnLayout.bringToFront();

它解决了问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-24
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 2017-01-01
    • 2012-07-14
    • 1970-01-01
    相关资源
    最近更新 更多