Android、布局宽度和宽度、对齐基线、表格布局和布局跨度相关问题

Android、布局宽度和宽度、对齐基线、表格布局和布局跨度相关问题,android,tablelayout,Android,Tablelayout,[首先,对不起,我想不出一个更聪明的问题标题。] 好吧,你看这篇长文章的时候,跟我在一起 我是Android新手,这是我的第一个虚拟比萨饼订单应用程序。我正在玩XML布局,有一些问题 editText_CardNo离开屏幕,它的列没有拉伸,为什么?() [编辑] 我可以为所有TableRow指定全局布局吗 已解决 我已经使用alignBaseline对齐了元素,但我看不出它起作用 在“外壳”部分,我已经完成了布局,但没有任何用处,第二个单选按钮的文本仍然换行。() 内部表格,例如Tab

[首先,对不起,我想不出一个更聪明的问题标题。]

好吧,你看这篇长文章的时候,跟我在一起

我是Android新手,这是我的第一个虚拟比萨饼订单应用程序。我正在玩XML布局,有一些问题

  • editText_CardNo离开屏幕,它的列没有拉伸,为什么?()
[编辑]

  • 我可以为所有TableRow指定全局布局吗
已解决

  • 我已经使用alignBaseline对齐了元素,但我看不出它起作用
  • 在“外壳”部分,我已经完成了布局,但没有任何用处,第二个单选按钮的文本仍然换行。()
  • 内部表格,例如TableRow内的TableLayout看起来非常难看,只有左半部分可见,也尝试在TableLayout内或包含它的TableRow中添加布局,但没有任何用处。()

  • 如何使用属性在TableRow中折叠子部分(例如TableLayout)

main.xml

<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:id="@+id/scrollView_PizzaOrder"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<TableLayout android:id="@+id/tableLayout_PizzaOrder"
android:shrinkColumns="0"
android:stretchColumns="1"
android:layout_gravity="left"
android:layout_width="fill_parent" 
android:layout_height="fill_parent">

<TableRow android:id="@+id/tableRow_PizzaType"
android:layout_marginTop="10px" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">


<TextView android:text="Type" 
android:id="@+id/textView_Type"
android:textStyle="bold"
android:layout_alignBaseline="@+id/spinner_Type"     
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</TextView>


<Spinner android:id="@+id/spinner_Type"
android:drawSelectorOnTop="true" 
android:layout_width="200px" 
android:layout_height="wrap_content">
</Spinner>  
</TableRow>




<TableRow android:id="@+id/tableRow_PizzaSize" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">


<TextView android:text="Size" 
android:id="@+id/textView_Size"  
android:textStyle="bold"
android:layout_alignBaseline="@+id/spinner_Size" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</TextView>


<Spinner android:id="@+id/spinner_Size"
android:drawSelectorOnTop="true"
android:layout_marginBottom="20px"   
android:layout_width="200px" 
android:layout_height="wrap_content">
</Spinner>
</TableRow>



<TableRow android:id="@+id/tableRow_Crust" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<RadioGroup android:id="@+id/radioGroup_Crust" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">

<RadioButton android:text="Single Crust" 
android:id="@+id/radioButton_SingleCrust"
android:checked="true" 
android:layout_span="2"
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</RadioButton>

<RadioButton android:text="Double Crust" 
android:id="@+id/radiobutton_DoubleCrust"
android:layout_span="2"
android:layout_marginBottom="20px" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</RadioButton>



</RadioGroup>

</TableRow>


<TableRow android:id="@+id/tableRow_Toppings"  
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<CheckBox android:text="Extra Toppings?" 
android:id="@+id/checkbox_ExtraToppings"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

</TableRow>


<TableRow android:id="@+id/tableRow_ToppingsTable"  
android:layout_width="fill_parent" 
android:layout_height="wrap_content">


<TableLayout android:id="@+id/tableLayout_Toppings"
android:layout_marginLeft="20px"      
android:layout_gravity="left"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<TableRow android:id="@+id/tableRow_SelectToppings"
android:layout_width="fill_parent"
android:layout_height="wrap_content">


<CheckBox android:text="Olives"
android:id="@+id/checkbox_Olives"
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

<CheckBox android:text="Cheese"
android:id="@+id/checkbox_Cheese"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

</TableRow>


<TableRow android:id="@+id/tableRow_SelectCustomToppings"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<CheckBox android:text="Custom"
android:id="@+id/checkbox_Custom"
android:layout_marginRight="10px"
android:layout_alignBaseline="@+id/editText_Custom"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

<EditText android:text=""
android:id="@+id/editText_Custom"
android:singleLine="true"    
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>

</TableRow>
</TableLayout> 
</TableRow>






<TableRow android:id="@+id/tableRow_SeparaterDrinks" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<View android:layout_height="2px"
android:background="#884400"
android:layout_span="2"
android:layout_margin="25px" />

</TableRow>


<TableRow android:id="@+id/tableRow_Drinks"
android:layout_span="2" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<CheckBox android:text="Drinks?" 
android:id="@+id/checkbox_Drinks"
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>
</TableRow> 


<TableRow android:id="@+id/tableRow_DrinksTable" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<TableLayout android:id="@+id/tableLayout_Drinks"
android:layout_marginLeft="20px"
android:layout_gravity="left"
android:layout_width="fill_parent"
android:layout_height="fill_parent">



<TableRow android:id="@+id/tableRow_SelectDrinksPepsi"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<!-- Drinks links, for now static generation, later use XML and Dynamic Generation -->

<CheckBox android:text="Pepsi"
android:id="@+id/checkbox_Pepsi"
android:checked="true"
android:layout_alignBaseline="@+id/textView_QuantityPepsi"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

<TextView android:text="Quantity:"
android:id="@+id/textView_QuanityPepsi"
android:textStyle="bold"
android:layout_alignBaseline="@+id/editText_QuantityPepsi"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>

<EditText android:text="1"
android:id="@+id/editText_QuantityPepsi"
android:singleLine="true"
android:maxLength="3"
android:numeric="integer"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>


</TableRow> 




<TableRow android:id="@+id/tableRow_SelectDrinksCoke"
android:layout_width="fill_parent"
android:layout_height="wrap_content">


<CheckBox android:text="Coke"
android:id="@+id/checkbox_Coke"
android:layout_alignBaseline="@+id/textView_QuantityCoke"
android:layout_width="wrap_content"
android:layout_height="wrap_content">     
</CheckBox>

<TextView android:text="Quantity:"
android:id="@+id/textView_QuantityCoke"
android:textStyle="bold"
android:layout_alignBaseline="@+id/editText_QuantityCoke"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>

<EditText android:text="0"
android:id="@+id/editText_QuantityCoke"
android:singleLine="true"
android:maxLength="3"
android:numeric="integer"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>

</TableRow>



<TableRow android:id="@+id/tableRow_SelectDrinksSprite"
android:layout_width="fill_parent"
android:layout_height="wrap_content">


<CheckBox android:text="Sprite"
android:id="@+id/checkbox_Sprite"
android:layout_alignBaseline="@+id/textView_QuantitySprite"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

<TextView android:text="Quantity:"
android:id="@+id/textView_QuantitySprite"
android:layout_alignBaseline="@+id/editText_QuanitySprite"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content">     
</TextView>

<EditText android:text="0"
android:id="@+id/editText_QuantitySprite"
android:singleLine="true"
android:maxLength="3"
android:numeric="integer"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>


</TableRow>



<TableRow android:id="@+id/tableRow_SelectDrinksMountainDew"
android:layout_width="fill_parent"
android:layout_height="wrap_content">


<CheckBox android:text="Mirinda"
android:id="@+id/checkbox_Mirinda"
android:layout_alignBaseline="@+id/textView_QuantityMirinda"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

<TextView android:text="Quantity:"
android:id="@+id/textView_QuantityMirinda"
android:layout_alignBaseline="@+id/editText_QuantityMirinda"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>

<EditText android:text="0"
android:id="@+id/editText_QuantityMirinda"
android:singleLine="true"
android:maxLength="3"
android:numeric="integer"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>


</TableRow>


<TableRow android:id="@+id/tableRow_SelectDrinks7up"     
android:layout_width="fill_parent"
android:layout_height="wrap_content">


<CheckBox android:text="7up"
android:id="@+id/checkbox_7up"
android:layout_alignBaseline="@+id/textView_Quantity7up"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</CheckBox>

<TextView android:text="Quantity: "
android:id="@+id/textView_Quantity7up"
android:layout_alignBaseline="@+id/editText_Quantity7up"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>

<EditText android:text="0"
android:id="@+id/editText_Quantity7up"
android:singleLine="true"
android:maxLength="3"
android:numeric="integer"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</EditText>

</TableRow>
</TableLayout>
</TableRow>




<TableRow android:id="@+id/tableRow_SeparaterMember" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<View android:layout_height="2px"
android:background="#884400" 
android:layout_span="2"
android:layout_margin="25px" />

</TableRow>

<TableRow android:id="@+id/tableRow_Member" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<CheckBox android:text="Are you a Member?" 
android:id="@+id/checkbox_Member"
android:layout_span="2" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</CheckBox>

</TableRow>

<TableRow android:id="@+id/tableRow_MemberData"
android:layout_marginLeft="20px" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<TextView android:text="Card #:" 
android:id="@+id/textView_CardNo" 
android:textStyle="bold"
android:layout_alignBaseline="@+id/editText_CardNo"
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</TextView>

<EditText android:text="" 
android:id="@+id/editText_CardNo"
android:singleLine="true"
android:maxLength="8"  
android:numeric="integer" 
android:layout_width="200px" 
android:layout_height="wrap_content">
</EditText>


</TableRow>

<TableRow android:id="@+id/tableRow_SeparaterMemberData" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">

<View android:layout_height="2px"
android:background="#884400"
android:layout_span="2"
android:layout_margin="25px" />


</TableRow>



<TableRow android:id="@+id/tableRow_Name" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">


<TextView android:text="Name:" 
android:id="@+id/textView_Name"
android:layout_alignBaseline="@+id/editText_Name"
android:textStyle="bold"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>

<EditText android:text="" 
android:id="@+id/editText_Name"
android:singleLine="true"
android:maxLength="35"
android:layout_width="200px" 
android:layout_height="wrap_content">
</EditText>




</TableRow>

<TableRow android:id="@+id/tableRow_CellNumber" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">



<TextView android:text="Cell:" 
android:id="@+id/textView_Cell"
android:textStyle="bold"
android:layout_alignBaseline="@+id/editText_Cell"    
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>

<EditText android:text="" 
android:id="@+id/editText_Cell"
android:singleLine="true"
android:phoneNumber="true"
android:maxLength="15"
android:layout_width="200px" 
android:layout_height="wrap_content">
</EditText>

</TableRow>


<TableRow android:id="@+id/tableRow_Address" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">



<TextView android:text="Address:" 
android:id="@+id/textView_Address"
android:textStyle="bold"
android:layout_alignBaseline="@+id/editText_Address"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>

<EditText android:text="" 
android:id="@+id/editText_Address"
android:singleLine="true"
android:maxLength ="200"
android:layout_width="200px" 
android:layout_height="wrap_content">
</EditText>

</TableRow>


<TableRow android:id="@+id/tableRow_PlaceOrder" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content">


<Button android:text="Place Order!" 
android:id="@+id/button_PlaceOrder"  
android:onClick="placeOrder"
android:layout_column="1"        
android:layout_width="wrap_content" 
android:layout_height="wrap_content">
</Button>




</TableRow>

</TableLayout>
</ScrollView>

布局校准基线仅用于相对校准。LinearLayout(因此TableLayout)默认情况下执行基线对齐

布局需要放在RadioGroup上,而不是单选按钮上

editText\u CardNo将退出屏幕,因为您将其宽度设置为android:layout\u width=“200px”。这个太大了。仅当柱小于屏幕时,柱才会拉伸。你想让它收缩。可以将柱设置为可收缩和可拉伸


如何使用属性在TableRow中折叠子部分,例如TableLayout?>>使用android:visibility=“gone”

即使我将editText\u CardNo设置为20px,它仍然超出屏幕边界。