为什么文本没有出现在这个按钮上?
Why is the text not appearing on this Button?
由于某些原因,在创建带有按钮的 LinearLayout
时,最左边的按钮没有任何文本。
在布局预览中,它看起来不错。但在实际设备上,它看起来像这样:
布局代码如下:
<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" />
即使在此布局中只有一个按钮,也不会显示文本。
这里是 class 用于使 class 可用于其他布局:
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
替换它们,它们将在运行时出现。
您正在使用 tools:
命名空间。这仅显示在预览工具中。
如果只是静态文本,请将其更改为 android:
。
由于某些原因,在创建带有按钮的 LinearLayout
时,最左边的按钮没有任何文本。
在布局预览中,它看起来不错。但在实际设备上,它看起来像这样:
布局代码如下:
<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" />
即使在此布局中只有一个按钮,也不会显示文本。
这里是 class 用于使 class 可用于其他布局:
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
替换它们,它们将在运行时出现。
您正在使用 tools:
命名空间。这仅显示在预览工具中。
如果只是静态文本,请将其更改为 android:
。