CheckBox和ImageButton没有使用Android水平显示?

时间:2013-12-13 10:25:28

标签: android xml checkbox

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">
   <LinearLayout 
       android:id="@+id/risktablerowcheckbox_layout"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:orientation="horizontal"
       android:layout_marginLeft="10dp"
       android:layout_marginRight="10dp"
       android:layout_marginTop="5dp"
       android:weightSum="5"
       android:visibility="gone">
    <LinearLayout 

        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="4"
        android:orientation="vertical">

        <CheckBox 
        android:id="@+id/risktablerow_checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"

        android:text="fdf dfsdfsd dfsdfsdf dfsdf sdfsdf sddfs  "
        android:textSize="14sp"
        android:textStyle="bold"
        android:drawableLeft="@android:color/transparent"
        android:drawablePadding="2dp"/> 

     </LinearLayout>
     <LinearLayout 
        android:id="@+id/risktablerowbutton_layout"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center"
        android:layout_gravity="center"
        android:layout_weight="1">

<ImageButton 
        android:id="@+id/riskinfo_btn" 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/info_risk"
        android:layout_marginTop="5dp"/>
 </LinearLayout>
 </LinearLayout>
</TableRow>

一旦我在复选框文本中放置大文本,它占用了这么多空格而我的按钮没有在纵向模式下显示在屏幕上,而在这里可以看到lanscape按钮是布局。有人可以看看代码是什么错误的上面的代码?

Portrait Mode

horizontal Mode

after adding Keshav answer getting this layout 请让我知道如何alignbaseline的edittext和图像按钮,以及旋转器和图像按钮

3 个答案:

答案 0 :(得分:3)

使用此复选框和图像按钮:

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <CheckBox
        android:id="@+id/risktablerow_checkbox"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:layout_weight="5"
        android:drawableLeft="@android:color/transparent"
        android:drawablePadding="2dp"
        android:text="fdf dfsdfsd dfsdfsdf dfsdf sdfsdf sddfs sfsfsfsada "
        android:textSize="14sp"
        android:textStyle="bold" />

    <ImageButton
        android:id="@+id/riskinfo_btn"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:layout_weight="1"
        android:background="@drawable/ic_launcher" />
</LinearLayout>

答案 1 :(得分:0)

首先将Imagebutton和CheckBox放在单个LinearLayout中,不需要两个LinearLayout,否则使用相对更好的RelativeLayout。现在以像android:layout_width="80dp"这样的dp修复问题集宽度。

答案 2 :(得分:0)

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <CheckBox
        android:id="@+id/risktablerow_checkbox"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_toLeftOf="@+id/riskinfo_btn"
        android:layout_marginTop="8dp"
        android:drawableLeft="@android:color/transparent"
        android:drawablePadding="2dp"
        android:text="fdf dfsdfsd dfsdfsdf dfsdf sdfsdf sddfs  "
        android:textSize="14sp"
        android:textStyle="bold" />

    <ImageButton
        android:id="@+id/riskinfo_btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/risktablerow_checkbox"
        android:layout_alignParentRight="true"
        android:layout_marginTop="5dp"
        android:background="@drawable/ic_launcher" />
</RelativeLayout>