java - Imageview卡在android布局的顶部

标签 java android xml android-studio

我放置了两个线性布局,在第一个线性布局下我放置了“textview”,在第二个线性布局下我放置了“imageview”。但问题是 ImageView 没有移动,我希望骰子图标位于中心。每当我尝试拖动该图标时,它都会卡在布局的左上角。

我不知道出了什么问题,因为我是 Android 新手。

看一下截图 /image/SJmEY.png

activity_main.xml

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:text="@string/Logo"
            android:textAlignment="center"
            android:textColor="#ffffff"
            android:textSize="36sp" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <ImageView
            android:id="@+id/imageView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/five" />
    </LinearLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

MainActivity.java

package com.example.snakes;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

最佳答案

您无法在 LinearLayout 中拖动元素。它们按照在布局文件中声明的顺序放置,具体取决于方向设置(水平或垂直)。

在您的情况下也没有理由有两个这样的线性布局。您可以将两个元素放置在第一个元素内,并使用重力属性使 ImageView 居中(例如重力=“center_vertical”)。

编辑: 我最终自己尝试了它,并使用 LinearLayout 内的relativelayout解决了它。确保RelativeLayout与父级的宽度和高度匹配,然后将ImageView置于RelativeLayout内部的中心,如下所示:

<androidx.constraintlayout.widget.ConstraintLayout 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=".MainActivity">

<LinearLayout
    android:id="@+id/linearLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center_vertical">
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
        <ImageView
            android:id="@+id/someImage"
            android:orientation="vertical"
            android:layout_centerInParent="true"/>
    </RelativeLayout>
</LinearLayout>

关于java - Imageview卡在android布局的顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61007677/

相关文章:

java - 在java线程中正确同步Vector

java - 如何使maven将依赖项的资源文件放入父war而不是依赖项jar中

java - 将项目集合提供给 java FXML 中的自定义扩展组合框

java - 无法通过 Web 服务方法返回 org.w3c.dom.Document

java - Java类中 "this"引用实例变量的常规用法

android - 我在使用水平和垂直滚动实现 RecyclerView 时遇到一个问题

android - MPAndroidChart - 根据值具有不同颜色的折线图

android - 在 USB 闪存驱动器的 API 27 的 Android 应用程序中未收到 Intent.ACTION_MEDIA_MOUNTED

xml.etree.ElementTree 插入子节点的子节点创建无限循环 Python

xml - 如何在没有转义字符的情况下使用grails生成真正的UTF-8 XML?