我在tablelayout中有一个简单的符号,但里面的内容伸得太远了。在我看来,一切都集中在一起。或者似乎EditText试图将自己置于主要父级内部,而不是IT父级tablelayout。知道为什么吗?
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bluebg"
android:id="@+id/loading_page_lin_layout"
>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/roundtable"
android:layout_gravity="center"
android:gravity="center"
android:layout_margin="10dip"
android:padding="10dip"
android:stretchColumns="*">
<TableRow>
<EditText
android:id="@+id/txtUserName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#85AFBE"
android:hint="Email"
android:text=""
android:gravity="left"
/>
</TableRow>
<TableRow>
<EditText
android:id="@+id/txtPassword"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#85AFBE"
android:text=""
android:hint="Password"
android:password="true"
android:gravity="left"
android:layout_gravity="center"
/>
</TableRow>
<TableRow>
<!-- <Button
android:id="@+id/btnSignIn"
android:text="Sign In"
android:layout_width="fill_parent"
android:paddingTop="10dip"
android:gravity="center"
/>-->
<ImageButton
android:id="@+id/btnSignIn"
android:src="@drawable/signbig"
android:scaleType="fitCenter"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:layout_marginLeft="3dip"
android:background="@null"
android:layout_marginRight="3dip"
android:layout_gravity="center"
/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btnSignUp"
android:background="@null"
android:text="Sign Up"
android:textStyle=""
android:layout_width="wrap_content"
android:paddingTop="10dip"
android:textSize="20dip"
android:gravity="center"
android:onClick="SendToSignUp"
/>
</TableRow>
<TableRow>
<Button
android:id="@+id/btnFillData"
android:text="Fill Fake Data"
android:background="@null"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:gravity="center"
android:onClick="FillFakeData"
/>
</TableRow>
</TableLayout>
</LinearLayout>
答案 0 :(得分:14)
我在两列表上遇到了同样的问题。
第二栏中的文字被切断了。
使用android:shrinkColumns="1"
中的TableLayout
修复了此问题。
这是我的代码,text3太大了,直到我在shrinkColumns
添加了TableLayout
属性后才被屏幕切断。
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:shrinkColumns="1" >
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10dp" />
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</TableRow>
<TableRow
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1" />
</TableRow>
</TableLayout>
答案 1 :(得分:10)
您的表格布局将其宽度设置为&#34; wrap_content&#34;并且它的孩子在&#34; fill_parent&#34;,并没有一个人知道任何事情:)将你的桌子布局的宽度设置为&#34; fill_parent&#34;一切都应该按照你的意思进行布局。
<强> UPD 强> 我只在你的表中看到一列。这意味着您可以安全地用垂直LinearLayout替换它。
答案 2 :(得分:2)
我遇到了同样的问题,网上的教程都没有用。最后,我发现设置表视图的'Shrink Columns'属性可以解决问题。
答案 3 :(得分:0)
为运行EditText的列设置shrinkColumn和stretchColumn。这为您提供了父匹配宽度,并且不会运行。
答案 4 :(得分:0)
设置EditTextView&#39; layout_width =&#34; 0dp&#34;和layout_weight =&#34; 1&#34;解决了我的问题。