android - 在之前定义的特定位置将布局添加到另一个布局

标签 android android-layout

假设我在 xml 文件中创建了一个相对布局,并在该布局中的某个位置放置了一个占位符以供将来查看。这个 future View 是另一个 XML View 中的另一个布局。如何在代码中做到这一点?我知道我必须夸大 future View 但是当我将它添加到主布局时它最终成为左上角核心而不是我为它创建的占位符 谢谢

最佳答案

你可以在布局中的任何地方添加任何 View ,将 View 的父 View 设置为 RelativeLayout,假设你想将 View 放置在屏幕上的 (x, y) 点,通过以下方法找出布局在屏幕上的位置:

View.getLocationOnScreen()

假设我们通过这种方法得到 x1 和 y1。 现在通过 View 的绝对 x, y 坐标 - 父级的绝对 x1, y1 找出 View 相对于父级布局的 future (x, y) 位置。假设我们发现差异为 x2,y2。

现在定义 View 的 LayoutParams 如下:

    View v = layoutInflater.inflate(R.layout.future_view, null);
    RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
   params.setMargins(x2, y2, 0, 0);


    relativeLayout.addView(v,relativeParams)

关于android - 在之前定义的特定位置将布局添加到另一个布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10082334/

相关文章:

android - 摩托罗拉设备上的自定义权限失败

java - Kotlin 中的 CountDownTimer 解释

java - Android Studio getApplicationContext()

java - 如何在更改 EditText 和 Seekbar 时自动更改 TextView

android - 截取任何屏幕的屏幕截图

android - PhoneStateListener 不调用

android - (Android - xml) Gridview 和 ImageView 缩放类型 centerCrop

android - 应用程序在低于 6 的 android 版本上崩溃但在 android 6 或 7 以上显示错误 android.view.InflateException :

android-layout - 如何在android中为世界地图创建布局

android - 将按钮并排放置