从 TextView 到 EditText 的共享元素转换错误

2024-01-07

我正在尝试在TextView and a EditText´ but when showing the resulting Activity the text in theEditViewhave been shifted up. See attached pictures. Also, clicking on the转换后的 EditView` 会将文本恢复到正确的位置。

首先单击 RecyclerView 中的任意行:

单元格视图、日期TextEdit和名字TextEdit共享到下一个活动。单元格背景转换为工具栏。

启动活动单元格布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:id="@+id/adapter_actionlist"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="wrap_content"
              android:clickable="true"
              android:focusable="true"
              android:background="?android:attr/selectableItemBackground"
              android:transitionName="@string/transition_key_action" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="72dp"
        >

        <CheckBox
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/adapter_actionList_checkBox"
            android:layout_alignParentStart="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="12dp"/>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_centerVertical="true"
            android:layout_alignParentStart="true"
            android:layout_marginLeft="72dp"
            android:layout_marginRight="16dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:maxLines="2"
                android:ellipsize="end"
                android:textAppearance="?android:attr/textAppearanceMedium"
                android:text="Large Text"
                android:id="@+id/adapter_actionlist_toplabel"
                android:paddingTop="0dp"
                android:paddingBottom="0dp"
                android:textSize="14sp"
                android:transitionName="@string/transition_key_action_name"
                />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Medium Text"
                android:id="@+id/adapter_actionlist_bottomlabel"
                android:paddingTop="0dp"
                android:paddingBottom="0dp"
                android:autoText="false"
                android:textSize="14sp"
                android:transitionName="@string/transition_key_action_date"
                />
        </LinearLayout>

    </RelativeLayout>
</LinearLayout>

活动的最终布局:

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:id="@+id/activity_action_toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/primary_color"
        app:contentInsetEnd="0dp"
        app:contentInsetStart="0dp"
        android:elevation="4dp"
        android:fitsSystemWindows="true"
        app:navigationIcon="@drawable/abc_ic_ab_back_mtrl_am_alpha"
        app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
        app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
        android:transitionName="@string/transition_key_action">

            <LinearLayout
                android:id="@+id/actvity_action_focus_placeholder"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:layout_marginTop="56dp"
                android:layout_marginLeft="16dp"
                android:descendantFocusability="beforeDescendants"
                android:focusableInTouchMode="true"
                android:paddingBottom="6dp">

                <EditText
                    android:id="@+id/activity_action_title"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="Title"
                    android:layout_marginRight="16dp"
                    android:imeOptions="actionDone"
                    android:singleLine="true"
                    android:ellipsize="none"
                    android:inputType="text"
                    android:textSize="22sp"
                    android:textColor="#fff"
                    android:focusable="true"
                    android:background="@android:color/transparent"
                    android:transitionName="@string/transition_key_action_name"/>

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:textAppearance="?android:attr/textAppearanceSmall"
                    android:text="Från: [Möte] (Datum)"
                    android:id="@+id/activity_action_meetingdate"
                    android:textColor="#fff"
                    android:layout_marginBottom="6dp"
                    android:layout_marginRight="16dp"
                    android:transitionName="@string/transition_key_action_date"/>

            </LinearLayout>

    </android.support.v7.widget.Toolbar>

    <android.support.v4.widget.SwipeRefreshLayout
        android:id="@+id/activity_action_swipe_refresh_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        tools:context=".Activities.ActionActivity">

            <android.support.v7.widget.RecyclerView
                android:id="@+id/activity_action_recyclerview"
                android:scrollbars="vertical"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:descendantFocusability="beforeDescendants"/>

    </android.support.v4.widget.SwipeRefreshLayout>

</LinearLayout>

转换代码:

private void startActionActivity(int selectedRow, View animateFromView)
{
    Intent intent = new Intent(this, ActionActivity.class);
    Action selectedAction = mAdapter.getActionAtPosition(selectedRow);
    intent.putExtra(Constants.SELECTED_ACTION_ID_KEY, selectedAction.id);

    if (animateFromView != null) {

        ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(this,
                Pair.create(animateFromView, getResources().getString(R.string.transition_key_action)),
                Pair.create(animateFromView.findViewById(R.id.adapter_actionlist_toplabel), getResources().getString(R.string.transition_key_action_name)),
                Pair.create(animateFromView.findViewById(R.id.adapter_actionlist_bottomlabel), getResources().getString(R.string.transition_key_action_date)));

        startActivity(intent, options.toBundle());
    }
    else {
        startActivity(intent);
    }
}

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 TextView 到 EditText 的共享元素转换错误 的相关文章

  • 强制用户在 Android 中的 EditText 中输入内容

    我的活动中有几个编辑文本 我希望我的用户在提交表单之前正确输入 我该怎么做 我还有旋转器和 RadioGroup 按钮 你可以加验证在提交按钮上单击 private boolean validateFields int yourDesire
  • 如何在 Android 中使用 Assets 中预加载的 SQLite 数据库

    我想用preloaded database在我的应用程序中意味着尝试在安装 apk 时获取数据库 以便可以使用已保存在其中的数据 我复制了 成分 db 文件位于资产文件夹中 并使用以下代码 但这会出现错误 从资源文件复制数据库时出现问题 我
  • 将正确的上下文传递给 greendao 的 OpenHelper 构造函数

    如果我理解正确的话 在使用数据库时 我必须执行以下操作 DaoMaster OpenHelper helper new DaoMaster OpenHelper this test db null Override public void
  • 毕加索动画加载图像

    我有以下代码在毕加索中加载图像 使用可绘制的占位符在图像下载时显示 不过 我想要的是一个动画旋转进度条样式的旋转器 它可以在图像加载时不断地旋转 就像我在大多数专业应用程序中看到的那样 毕加索似乎不支持这一点 只支持静态图像可绘制 有没有办
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • 如何从一个代码库创建多个 Android 应用

    我有一个 Android 代码库 它使用带有设置的 API 来获取多个应用程序的不同数据 所有应用程序都使用相同的代码库 但进行一两个设计调整 那么如何重用主代码库而不必每次都复制整个 Android 项目呢 iPhone 在同一个项目中使
  • 如何从 Retrofit2 获取字符串响应?

    我正在做 android 正在寻找一种方法来执行超级基本的 http GET POST 请求 我不断收到错误 java lang IllegalArgumentException Unable to create converter for
  • Android:应用内计费V3超时返回哪个响应码?

    出现网络超时情况时 Google Play 应用内结算服务 ice er V3 将返回哪些响应状态代码 它的所有功能都是统一的吗 我将在这里描述我的发现 我通过拔掉主机插头 在安装了全功能 GP GP Store V3 10 10 GP S
  • 以编程方式更新 Android 中的联系人姓名和电话号码

    我创建一个应用程序来读取 更新 删除联系人详细信息 这是更新联系人姓名和电话号码的问题 有人可以帮助我吗 我该怎么做 我正在使用以下代码 但它不起作用 Override public View onCreateView LayoutInfl
  • 如何使用 Firebase UI 在 recyclerView 中显示时从 Firebase 数据库中的子级引用父级

    我目前正在引用 quote text 子项 这些数据显示在recyclerview using firebase用户界面 我想获取 quote text 的父名称 如何获取 quote text 孩子的父母姓名 When user clic
  • Firebase ANR - 甚至不使用 firebase

    随着 GMS 的最新更新 引入了新的 ANR 如果您退出应用程序 然后返回 则 ANR 就会初始化 线程跟踪似乎指向 Firebase 但我什至从未开始使用 Firebase 我猜它一定是新的 GMS 包的一部分 06 11 00 34 0
  • 以编程方式将 TextView 添加到主屏幕小部件

    我想以编程方式将文本视图控件添加到我的主屏幕小部件 在下面的示例中 我使用 TextView 填充 Linearlayout 但是这里应该如何使用 RemoteView 它只接受 xml 资源布局作为参数 public class MyWi
  • onClick 未在带有子项的 LinearLayout 上触发

    我有一个自定义的 LinearLayout 和一个较小的 TextView 子级 我希望能够单击 TextView 未覆盖的区域 因此我将 clickable true 和 onclicklistener 设置为 LinearLayout
  • Vimeo 视频在 Android 6 设备上停止播放

    我正在尝试在我的应用程序中播放 Vimeo 的视频 问题是在 Android 6 设备上 视频会在一定时间后停止播放 在 API 较低的设备上一切正常 时间取决于质量 对于下面提供的网址的视频 播放一定分钟 1 到 3 视频质量有多低 播放
  • 在Android Studio中更改项目主题?

    我使用浅色主题创建了一些项目 现在我想将其更改为深色 但我不知道该怎么做 顺便说一句 我不是问如何在代码中做到这一点 只是问如何更改项目的默认主题 在 AndroidManifest xml 的 application 标签下 您可以设置您
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • 无法将类型“System.IO.Stream”隐式转换为“Java.IO.InputStream”

    我提到了一些类似的问题 但没有一个涉及IO 当我使用时 我在java中使用了相同的代码Eclipse 那次就成功了 但现在我尝试在中使用这段代码Mono for Android C 它不起作用 我正在尝试运行此代码来创建一个InputStr
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • Android:解析 XML 数据的最佳解析器 [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我正在开发一个应用程序 其中我第一次要解析来自远程服务器的 xml 文件中的数据 但我无法选择哪个解析器是有效的或最适合解析的 因为我知道主要有
  • Android ScrollView fillViewport 不工作

    我有一个简单的布局 名称位于顶部 按钮位于屏幕底部 或者超出该按钮 以防我添加更多项目 所以我使用带有 LinearLayout 的 ScrollView 如下所示

随机推荐

  • 根据名称中的模式更新列对

    这是我的数据框 col 1 lt c 1 2 NA 4 5 temp col 1 lt c 12 2 2 3 4 col 2 lt c 1 23 423 NA 23 temp col 2 lt c 1 2 23 4 5 df test lt
  • 为什么有些窗口收不到Windows消息

    在 Visual Studio 上使用 Spy 工具 我可以看到桌面或资源管理器 文件资源管理器 等窗口接收 WM 消息 但 Firefox 或 Visual Studio 等窗口不接收消息 为什么有的人能收到消息 有的人却收不到 通过 W
  • 从用户工作区加载类

    我正在编写一个 Eclipse 插件 它应该显示枚举类的一些信息 新视图应显示所有枚举常量和分配的值 枚举值以某种方式在构造函数中计算 并且在编辑器中并不明显它们在运行时将具有哪个值 这就是该插件的动机 我尝试访问由 eclipse AST
  • Java 多线程客户端/服务器 - java.net.SocketException:套接字已关闭

    我必须使用 Java 的套接字 api 编写多线程客户端和服务器 客户端和服务器都是多线程的 因此服务器可以处理多个连接 客户端可以测试服务器处理连接的能力 我的代码在这里 https github com sandyw Simple Ja
  • 如何检查 php://input 是否设置?

    我需要检查是否php input存在 设置 它可以与 PHP 一起使用吗isset https php net isset 正确的检查方法是什么 尝试用以下方法测试它file get contents http php net file g
  • 确定是否存在至少一行具有给定条件的行

    Employee 表有 ID 和 NAME 列 名称可以重复 我想查明是否至少有一行名称为 kaushik 所以查询应该返回 true false 或 1 0 是否可以使用单个查询找到它 如果我们尝试类似的事情 select count 1
  • 如何在 Tomcat 的 META-INF/context.xml 中指定路径

    我正在使用 Tomcat 7 希望在 war 文件本身中设置 war 文件的上下文根 并让 Tomcat 自动部署并选择此路径 我想我找到了通过将 context xml 放入包含的 war 的 META INF 目录中来做到这一点的方法
  • DataGrid DataGridTemplateColumn 组合框

    我的方法有问题ComboBoxes in a DataGrid 我用几张图来解释一下 这是起点 现在 如果我想添加新行 我单击最后一行并按 Enter 键 添加一个新行 并在此处选择类型表并为其命名为 MY TABLE 然后按 Enter
  • 这是互斥体的正确使用吗?

    我遇到的情况是 我可能同时运行一个程序的多个实例 并且重要的是 不要同时在多个实例中执行一个特定函数 这是使用互斥锁来防止这种情况发生的正确方法吗 lock this GetType log Info Doing Sync DoSync l
  • 带下划线的数据全文搜索

    我有一个索引表 其中索引列之一可以包含带下划线的数据 ID Name 1 01 A3L 2 02 A3L 3 03 A3L 4 05 A3L 5 some name 6 another name 7 a name 当我使用以下查询搜索该表时
  • ebXml OpenSource java实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在我们的项目中 我们正在寻找 OASIS ebXmlRegistry 3 0 规范的开源 java 实
  • 如何将所有新文件添加到 SVN

    我正在使用 ORM 它从 CLI 生成大量文件 有没有一种简单的方法来运行svn add目录中的所有文件显示为 当我跑步时svn status Edit这些文件存在于目录树中 因此添加 对于一个目录是行不通的 这将在指定的目录树下添加所有未
  • Node.js 的 Rails 控制台的等效项

    我正在尝试 Node js Express 框架 并寻找允许我通过控制台与模型交互的插件 类似于 Rails 控制台 NodeJS 世界里有这样的东西吗 如果没有 我如何与 Node js 模型和数据交互 例如手动添加 删除对象 测试数据方
  • JavaFX Alert 截断消息? [复制]

    这个问题在这里已经有答案了 我注意到如果我尝试展示Alert对于很长的消息 它往往会被截断 在单词边界处 Example import javafx application Application import javafx scene c
  • C 中 : 运算符的使用 [重复]

    这个问题在这里已经有答案了 可能的重复 结构体字段后面的 number 是什么意思 https stackoverflow com questions 3029442 what does number after a struct fiel
  • 使用条件更改 numpy 数组中的每个值

    我有一个从图像中获得的二维数组 现在它有 0 和 255 我想将所有 255 更改为 1 这对于for loop for i in range lenX for j in range lenY if img i j 255 img i j
  • 我可以在源perl程序中插入断点吗?

    我想要 perl 程序在某些条件满足时启动调试器 其他一些语言有库支持的 debug 语句 perl 中是否有类似的语句 如果我理解正确 您需要在代码中使用特定的调试器变量 DB single 在代码中将其设置为真值将导致调试器在该行停止
  • 使用 Powermock 模拟类的构造函数时出现 ExceptionInInitializerError。如何修复它?

    这是我的案例 我有一个 AbstractController 类 它有一个子类Controller 在 AbstractController 的方法之一中 实例化了一个新的 ApplicationLock 我想在为控制器编写 ut 时模拟
  • 将 CURLOPT_CAINFO 与更新的 CA 捆绑包一起使用会导致证书验证失败

    我使用 cURL 在 WordPress 插件中验证 PayPal 交易 最近 我开始收到有关用户因无法验证交易而无法完成购买流程的错误报告 我追踪到错误 SSL certificate problem verify that the CA
  • 从 TextView 到 EditText 的共享元素转换错误

    我正在尝试在TextView and a EditText but when showing the resulting Activity the text in theEditViewhave been shifted up See at