2017-01-17 15 views
2

何らかの理由で、ボタン付きの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); 
} 

ありがとう:

はここで他のレイアウトで使用可能なクラスを作るために使用されるクラスです!

答えて

4

最初の2つのボタンでtools:textを使用しており、その属性はプレビュー画面のレンダリングにのみ使用されます。
android:textに置き換えてください。実行時に表示されます。

+0

うわー、それは変です。私はそこにどうやって行くのか分かりません。ありがとう! – Ajay

3

tools:名前空間を使用しています。これはプレビューツールにのみ表示されます。

スタティックテキストの場合はandroid:に変更してください。

+0

ありがとう!悲しいことに、あなたは30秒遅れて答えました。あなたはまだアップフォートを取得します。 – Ajay

関連する問題