2017-06-21 101 views
-2

我正在做计算器UI布局和 最近,我有困难的ID/NUM和ID /名称不显示!有什么问题?有什么建议么?虽然我将这些设置为计算器以上,但它不起作用。在蓝图中,它只显示细小的水平线。Textview不显示

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

    <TextView 
     android:id="@+id/name" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="center" 
     android:layout_centerHorizontal="true" 
     android:text="&lt;계산기&gt;" 
     android:layout_above="@+id/num" 
     android:textSize="30dp" /> 


    <TextView 
     android:id="@+id/num" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:gravity="right" 
     android:layout_above="@+id/line" 
     android:layout_alignRight="@+id/line" 
     android:text="0" 
     android:textSize="35dp" 
     /> 

    <TextView 
     android:id="@+id/line" 
     android:layout_width="match_parent" 
     android:layout_height="2dp" 
     android:background="#000" 
     android:layout_marginRight="5dp" 
     android:layout_marginLeft="5dp" 

     android:layout_centerHorizontal="true" 
     android:layout_alignLeft="@id/calculator" 
     android:layout_alignRight="@id/calculator"/> 


    <TableLayout 
     android:id="@+id/calculator" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignRight="@+id/name" 
     android:layout_alignEnd="@+id/name"> 

     <TableRow android:gravity="center"> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="CE" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="C" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="DEL" /> 

      <Button 
       android:id="@+id/slash" 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="/" /> 

     </TableRow> 

     <TableRow android:gravity="center"> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="7" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="8" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="9" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="x" /> 

     </TableRow> 

     <TableRow android:gravity="center"> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="4" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="5" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="6" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="ㅡ" /> 

     </TableRow> 

     <TableRow android:gravity="center"> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="1" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="2" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="3" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="/" /> 

     </TableRow> 

     <TableRow android:gravity="center"> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="±" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="0" /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="." /> 

      <Button 
       android:layout_width="60dp" 
       android:layout_height="wrap_content" 
       android:gravity="center" 
       android:text="=" /> 

     </TableRow> 


     </TableLayout> 
    </RelativeLayout> 
+0

请不要在您的标题中帮助我PLZ。 – Julian

+0

@Julian在你的xml中似乎没有问题。你可以尝试通过约束布局来转换它。如果你这样做,你可以更好地控制你的布局。 – Coozgan

+0

我认为你的计算器布局已经超过了'name'布局,所以在你制作的所有视图下使你的'calculator'布局 –

回答

0

只是让在父母的calculator中心,并把让line高于calculator 改变这一点:

<TextView 
    android:id="@+id/line" 
    android:layout_width="match_parent" 
    android:layout_height="2dp" 
    android:background="#000" 
    android:layout_marginRight="5dp" 
    android:layout_marginLeft="5dp" 

    android:layout_centerHorizontal="true" 
    android:layout_alignLeft="@id/calculator" 
    android:layout_alignRight="@id/calculator"/> 


<TableLayout 
    android:id="@+id/calculator" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignRight="@+id/name" 
    android:layout_alignEnd="@+id/name"> 

这样:

<TextView 
    android:id="@+id/line" 
    android:layout_width="match_parent" 
    android:layout_height="2dp" 
    android:layout_above="@id/calculator" //here is a change 
    android:layout_alignLeft="@id/calculator" 
    android:layout_alignRight="@id/calculator" 
    android:layout_centerHorizontal="true" 
    android:layout_marginLeft="5dp" 
    android:layout_marginRight="5dp" 
    android:background="#000" /> 


<TableLayout 
    android:id="@+id/calculator" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignEnd="@+id/name" 
    android:layout_alignRight="@+id/name" 
    android:layout_centerInParent="true"> //here is a change 

如果你想实现

+0

神圣莫里!你的建议奏效了!但我仍然不明白为什么tableLayout中的centerInParent应该发生。我认为在RelativeLayout(父类)中使用gravity:center会很好。如果你不介意,你可以解释一下吗? – poream3387

+0

(和centerInParent根据我的意愿做了这项工作) – poream3387

+0

@ poream3387设置'centerInParent'你可以告诉其他视图你的视图的位置,而不需要设置它'RelativeLayout'在centerVertical中画'line'(因为u设置重力)在这个视图中你还可以看到计算器。 –