按钮小部件上未显示文本

3

昨天我试了一整天也没能解决它。我已经搜索了答案,但没有找到任何类似我的问题的东西。可能很容易解决,但我不理解。

我有以下简单的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   ... ...   >

<LinearLayout
    ... ...  >


   <Button
    android:id="@+id/registrarUser"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_marginTop="10dip"
    android:gravity="center"
    android:padding="15dp"
    android:background="@drawable/button_shape"
    android:text="@string/registrar"
    android:textColor="@color/tinto" />

    </LinearLayout>
</RelativeLayout>

无法在按钮上显示文本!!

这是我的 strings.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Android GCM</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="btn_aceptar">Aceptar</string>
    <string name="reg_gcm">Reg GCM</string>
    <string name="btn_desreg_gcm">DesReg GCM</string>
    <string name="nombre_usuario">Usuario</string>
    <string name="registrar">Registrar</string>

</resources>

这是我的button_shape.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <gradient
        android:startColor="#80000000"
        android:endColor="#80f2f2f2"
        android:angle="-90"/>
    <padding android:left="7dp"
        android:top="7dp"
        android:right="7dp"
        android:bottom="7dp" />
    <corners android:radius="13dp" />
</shape>

即使删除了android:background="@drawable/button_shape"(我认为它可能是问题所在),它仍然不起作用。 在控制台中,我可以看到按钮上显示的正确文本...但是当我在设备上运行项目时却没有...:( 我做错了什么?我相当新手,找不到错误。 有人遇到过同样的问题吗?请给出建议,谢谢! 编辑: 问题解决了!!! 我刚才意识到"LinerarLayout"设置了固定的"height"!这切断了按钮! 因此,我将"android:layout_height="200DP"更改为"android:layout_height="wrap_content"就可以了。 希望这能帮助其他人不要浪费太多时间在像这样的“小事”上。 谢谢和问候!

这个 tinto 是什么颜色?试着设置成黑色,然后看看你是否在运行时重置了文本? - Ajay S
请分享您的 Java 代码(活动代码)。 - Salman Khakwani
如果我在按钮上看到了文本,那么你的Activity可能存在一些问题。 - Ajay S
活动已编辑... 有人看到什么吗? - leonhard4
你是否在使用9Patch图像作为按钮的背景? - Salman Khakwani
显示剩余2条评论
1个回答

0

我认为问题出在你的按钮文本颜色上

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
... ...   >

<LinearLayout
... ...  >


 <Button
android:id="@+id/registrarUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="10dip"
android:gravity="center"
android:padding="15dp"
android:background="@drawable/button_shape"
android:text="@string/registrar"
android:textColor="#000000" />

</LinearLayout>
</RelativeLayout> 

尝试将按钮文本颜色设置为黑色或白色(取决于哪个与按钮的背景形成最佳对比)
希望这能帮到您。

我已经尝试过了。即使使用自己的颜色colors.xml保存,也没有起作用。无论如何还是谢谢! - leonhard4
请分享你的Java代码,我猜想它存在一些问题。 - Salman Khakwani
好的.. ;) 有时候基本和简单的事情会浪费很多时间,这真是令人惊讶!祝好! - leonhard4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接