gpt4 book ai didi

android - ImageButton 在模拟器或物理设备上的 Android Studio 中不可见

转载 作者:行者123 更新时间:2023-11-30 00:19:54 25 4
gpt4 key购买 nike

伟大的社区,您好。我是 Android 的新手,正在尝试构建一个计算器,这是我第一次遇到这个问题,不确定哪里出了问题。我已经添加了 buttons,除了 image button 之外,它们在模拟器上看起来很好。代码如下,希望得到帮助。

Image

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingTop="10dp"
android:weightSum="4">

<Button
android:id="@+id/button16"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_weight="1"
android:background="#00000000"
android:text="7"
android:textColor="@android:color/background_dark"
android:textSize="30sp"/>

<Button
android:id="@+id/button5"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_weight="1"
android:background="#00000000"
android:text="8"
android:textColor="@android:color/background_dark"
android:textSize="30sp"/>

<Button
android:id="@+id/button4"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_weight="1"
android:background="#00000000"
android:text="9"
android:textColor="@android:color/background_dark"
android:textSize="30sp"/>

<ImageButton
android:id="@+id/imageButton"
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_weight="1"
android:background="#00000000"
android:textColor="@android:color/background_dark"
app:srcCompat="@drawable/divide"/>
</LinearLayout>

最后一个按钮 divide 不可见,我添加了四个这样的线性布局,分别是 1、2、3、minus、4、5、6、multiply 按钮,所有这些 multiply、divide、plus 和 minus buttons 不幸的是不可见。我才刚刚起步,希望知道我错在哪里以及我需要修复什么。

更新

enter image description here

请参阅我附上的上图。在模拟器中可见的 ViewsButtons 如果我将它们更改为 ImageButton views 就像等号。我已经更改了我的 png 的 文件,但我无法理解我做错了什么

谢谢

最佳答案

我已经解决了这个问题,现在可以正常工作了,因为我只为您的每个 ImageButton 更改了一行是 android:src="@drawable/equalsymbol"而不是 app:srcCompat="@drawable/equalsymbol" 我已经在评论部分向你提到了

请参阅下面附上的屏幕截图:

enter image description here

编辑

现在,问题是为什么 app.srcCompat 不工作

这是因为您使用 Activityextend 您的 MainAcyivity.java

您必须使用 AppCompatActivityExtend

需要更新您的gradle.build

您必须添加以下行 -:

vectorDrawables {
useSupportLibrary = true
}

查看详细答案here

然后,我再次对您的应用进行一些更改

改变 1

MainActivity.java

public class MainActivity extends AppCompatActivity {

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

变2

style.xml

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<!--<item name="android:colorPrimary">@color/colorPrimary</item>-->
<!--<item name="android:colorPrimaryDark">@color/colorPrimaryDark</item>-->
<!--<item name="android:colorAccent">@color/colorAccent</item>-->
</style>

变3

build.gradle

 android {
defaultConfig {
vectorDrawables {
useSupportLibrary = true
}
}
}

现在,您可以在您的应用中使用 app:srcCompat="@drawable/equalsymbol"

看,下面的第二个屏幕截图我使用了 app:srcCompat,现在可以使用了

enter image description here

现在,一切正常。

因此,按照上述进行更改。快乐编码

关于android - ImageButton 在模拟器或物理设备上的 Android Studio 中不可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46509102/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com