android - 为什么文本没有出现在这个按钮上?

标签 android android-layout android-button

由于某些原因,当创建带有按钮的 LinearLayout 时,最左边的按钮没有任何文本。

在布局预览中,它看起来不错。但在实际设备上,它看起来像这样: Broken layouts

这是布局代码:

<Button
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/minusOneButton"
        android:layout_gravity="center_horizontal"
        tools:text="-"
        android:textSize="25sp"
        android:textAlignment="center"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:id="@+id/minus5Button"
        android:layout_gravity="center_horizontal"
        tools:text="-5"
        android:textSize="25sp"
        android:textAlignment="center"
        android:layout_below="@+id/minusOneButton"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <Button
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:text="+"
        android:id="@+id/plusOneButton"
        android:layout_gravity="center_horizontal"
        android:textSize="25sp"
        android:textAlignment="center"
        android:layout_alignParentTop="true"
        android:layout_toRightOf="@+id/counterText" />

    <Button
        android:layout_width="50dp"
        android:layout_height="50dp"
        android:text="+5"
        android:id="@+id/plus5Button"
        android:layout_gravity="center_horizontal"
        android:textSize="23sp"
        android:textAlignment="center"
        android:layout_below="@+id/plusOneButton"
        android:layout_alignLeft="@+id/plusOneButton"
        android:layout_alignStart="@+id/plusOneButton" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="0"
        android:id="@+id/counterText"
        android:layout_gravity="center_horizontal"
        android:textSize="60dp"
        android:layout_marginBottom="13dp"
        android:layout_alignBottom="@+id/plus5Button"
        android:layout_toRightOf="@+id/minusOneButton"
        android:layout_toEndOf="@+id/minusOneButton" />

即使在此布局中只有一个按钮,它也不会显示文本。

这是用于使该类可被其他布局使用的类:

public class HigherCounter extends LinearLayout implements View.OnClickListener{

    public HigherCounter(Context context, AttributeSet attrs) {
        super(context, attrs);
        LayoutInflater inflater = LayoutInflater.from(context);

        inflater.inflate(R.layout.higher_counter, this);
}

谢谢!

最佳答案

您在前 2 个按钮中使用了 tools:text,该属性仅用于渲染预览屏幕。
android:text 替换它们,它们将在运行时出现。

关于android - 为什么文本没有出现在这个按钮上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41687212/

相关文章:

android - AudioRecord 启动后返回一些空数据

android - 错误 : <item> inner element must either be a resource reference or empty?

可绘制对象上的 Android 数据绑定(bind)

java - 如何使用 Toast 获取按钮的文本

android - 版本 5 上带有 getBackground().setAlpha 的按钮 - Lollipop 无法正常工作

android - simd 是否包含在 Android NDK 中

java - 用户登录 Android Studio 后如何将应用程序打开到不同的 Activity

java - Android 2.2 中的 String.replace 性能问题

android - 如何在android中特定位置的ImageView上写TextView?

Android 5.0 - ProgressBar 不能显示在按钮上