Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 以编程方式添加imageview约束问题_Java_Android_Xml_Imageview - Fatal编程技术网

Java 以编程方式添加imageview约束问题

Java 以编程方式添加imageview约束问题,java,android,xml,imageview,Java,Android,Xml,Imageview,我正在使用Android Studio构建一个应用程序(适用于Android),并且我面临着一些关于通过编程将ImageView添加到我的FrameLayout的位置的问题 第一件事:我有一个初始的ImageView在FrameLayout上,叫做AVATAR01,你可以在xml文件上看到: <FrameLayout android:id="@+id/LayJog" android:layout_width="200dp" android:layout_height

我正在使用
Android Studio
构建一个应用程序(适用于
Android
),并且我面临着一些关于通过编程将
ImageView
添加到我的
FrameLayout
的位置的问题

第一件事:我有一个初始的
ImageView
FrameLayout
上,叫做
AVATAR01
,你可以在
xml
文件上看到:

<FrameLayout
    android:id="@+id/LayJog"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="0dp"
    android:layout_marginTop="0dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent">
    <ImageView
        android:id="@+id/AVATAR01"
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:srcCompat="@drawable/avatar01" />
</FrameLayout>

上面的代码没有任何
运行时错误
,但程序将新图像放置在
框架布局的
(0,0)
位置。我很确定这与我添加的新
ImageView
的约束设置有关,但我无法解决这个问题。有人知道如何将新的
ImageView
放置在位置
(10100)
?谢谢。

我认为您可以通过向ImageView添加边距来解决此问题。 例如:

LinearLayout layout = findViewById(R.id.layout);

    ImageView IMG02 = new ImageView(this);
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT , LinearLayout.LayoutParams.WRAP_CONTENT);
    layoutParams.setMargins(LEFT , TOP , RIGHT , BOTTOM);
    IMG02.setLayoutParams(layoutParams;

    layout.addView(IMG02);

您必须插入您的值,而不是“左、上、右、下”

谢谢!我用了
layoutParams.setTop
来代替它,但它是相同的概念!太简单了……)
LinearLayout layout = findViewById(R.id.layout);

    ImageView IMG02 = new ImageView(this);
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT , LinearLayout.LayoutParams.WRAP_CONTENT);
    layoutParams.setMargins(LEFT , TOP , RIGHT , BOTTOM);
    IMG02.setLayoutParams(layoutParams;

    layout.addView(IMG02);