【发布时间】:2017-04-03 10:47:26
【问题描述】:
我有一个带有 2 个活动的 android 应用:activity_main 和 activity_login。
在我的活动之上,我有一个徽标。它在 activity_main 中显示良好,但在 activity_login 中却没有。
奇怪的是它们都使用相似的布局和相似的代码。
这是我的 activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
tools:context=".app.MainActivity"
android:background="@drawable/background_1">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/logo"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="36dp" />
<Button
android:id="@+id/button1"
android:layout_width="195dp"
android:layout_height="45dp"
android:text="Sign a File"
android:layout_marginTop="53dp"
app:layout_constraintTop_toBottomOf="@+id/imageView"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.502" />
<Button
android:id="@+id/button2"
android:layout_width="195dp"
android:layout_height="45dp"
android:text="Button"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginTop="30dp"
app:layout_constraintTop_toBottomOf="@+id/button4"
app:layout_constraintHorizontal_bias="0.502" />
<Button
android:id="@+id/button3"
android:layout_width="195dp"
android:layout_height="45dp"
android:text="Button"
android:layout_marginTop="34dp"
app:layout_constraintTop_toBottomOf="@+id/button1"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintHorizontal_bias="0.502" />
<Button
android:id="@+id/button4"
android:layout_width="195dp"
android:layout_height="45dp"
android:text="Button"
android:layout_marginTop="31dp"
app:layout_constraintTop_toBottomOf="@+id/button3"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp"
app:layout_constraintVertical_bias="0.043"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="parent" />
</android.support.constraint.ConstraintLayout>
还有,这是我的 activity_login.xml:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
tools:context=".login.LoginActivity"
android:background="@drawable/background_1">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:srcCompat="@drawable/logo"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
android:layout_marginTop="36dp" />
<EditText
android:id="@+id/usernameTextField"
android:layout_width="291dp"
android:layout_height="63dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="53dp"
android:background="@color/editTextBackground"
android:ems="10"
android:inputType="textPersonName"
android:text="Username"
android:textColor="#000000"
app:layout_constraintHorizontal_bias="0.506"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
<EditText
android:id="@+id/passwordTextField"
android:layout_width="291dp"
android:layout_height="63dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="0dp"
android:background="@color/editTextBackground"
android:ems="10"
android:inputType="textPassword"
android:text="Password"
android:textColor="#000000"
app:layout_constraintHorizontal_bias="0.506"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/usernameTextField" />
<Button
android:id="@+id/button"
android:onClick="loginButtonClick"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="66dp"
android:background="@color/editTextBackground"
android:text="Log In"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/passwordTextField"
app:layout_constraintBottom_toBottomOf="parent"
android:layout_marginBottom="8dp" />
</android.support.constraint.ConstraintLayout>
在 activity_login 的设计视图中,它可以很好地显示图像。但是,当我在模拟器/手机上运行测试时,它并没有显示出来。
我尝试从 login_activity 中删除所有其他视图,但仍然遇到同样的问题。我还尝试使用相同的 ConstarintLayout 创建一个新的活动 xml,在其中我只是将徽标添加为 imageView,当我运行应用程序时,徽标没有显示。
而且,在约束布局中使用相同 imageView 的相同徽标在我的 activity_main
中工作正常更新:为什么投反对票?
UPDATE2:正如 rafsanahmad007 所建议的那样:
代替:
app:srcCompat="@drawable/logo" 使用:
android:src="@drawable/logo"
但是,它仍然没有解释为什么它在一个活动中使用 app:srcCompat 而不是另一个活动。
【问题讨论】:
标签: android imageview android-drawable