android中线性布局内的文本视图

时间:2012-06-20 03:26:05

标签: android android-layout user-interface

我创建了三个相等权重的线性布局。在其中一个线性布局中,我有6个文本视图。我在我的活动中初始化了文本视图。但我无法查看此文本视图。我不知道我哪里出错了。请帮我。

这是我的XML布局

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout 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/lay"
 android:layout_weight="1"
 android:layout_width="match_parent"
 android:layout_height="fill_parent"
 android:background="#FFFFFF">
<TextView android:id="@+id/num1" 
 android:layout_width="0dip" 
 android:layout_height="wrap_content"
 android:gravity="left"
 android:textColor="#000000" 
 android:textSize="10dip"
 android:layout_weight="1" />
<TextView android:id="@+id/date1" 
android:layout_width="0dip" 
android:layout_height="wrap_content"
android:gravity="right"
android:textColor="#000000"
android:textSize="10dip" 
android:layout_marginLeft="10dp"
android:layout_weight="1" />
<TextView android:id="@+id/cus1" 
android:layout_width="0dip" 
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#000000"
android:textSize="10dip" />
<TextView android:id="@+id/service1" 
android:layout_width="0dip" 
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#000000"
android:textSize="10dip" />
<TextView android:id="@+id/job1" 
android:layout_width="0dip" 
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#000000"
android:textSize="10dip" />
<TextView android:id="@+id/des1" 
android:layout_width="0dip" 
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#000000"
android:textSize="10dip" />
</LinearLayout>
<LinearLayout
  android:layout_weight="1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="horizontal"
  android:background="#FFFFFF" >
<EditText
 android:id="@+id/EditTextName"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:hint="@string/followup"
 android:inputType="textMultiLine"
 android:lines="3" />
</LinearLayout>
<LinearLayout
  android:layout_weight="1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="horizontal"
  android:background="#FFFFFF" />
</LinearLayout>

这是我的活动

public class Detail extends Activity{
String value1 , value2;
Cursor c, c1;
DataBaseHelper myDbHelper = new DataBaseHelper(this);

  @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.detail);

        LinearLayout ll = (LinearLayout) findViewById(R.id.lay);
        TextView  tv1 =(TextView)ll.findViewById(R.id.num1);
        TextView  tv2 =(TextView)ll.findViewById(R.id.date1);
        TextView  tv3 =(TextView)ll.findViewById(R.id.cus1);
        TextView  tv4 =(TextView)ll.findViewById(R.id.service1);
        TextView  tv5 =(TextView)ll.findViewById(R.id.job1);
        TextView  tv6 =(TextView)ll.findViewById(R.id.des1);


        Bundle extras = getIntent().getExtras(); 
        if(extras !=null)
        {
        value1 = extras.getString("keyName");
        value2 = extras.getString("keyTime");
        }
        try {

            myDbHelper.openDataBase();

        }catch(SQLException sqle){

            throw sqle;

        }

        myDbHelper.setSearch(value1);
        c = myDbHelper.getDetail();
        if(c.getCount()!=0){
            c.moveToFirst();

            while (!c.isAfterLast()) {
                tv1.setText("Ticket No:" + c.getString(c.getColumnIndex("taskID")));
                tv2.setText("Date:" + value2 + "/" + c.getString(c.getColumnIndex("time")) );
                tv3.setText("Customer Name:" + value1);
                tv4.setText("Description:" + c.getString(c.getColumnIndex("taskDetail")));
                c.moveToNext();
            }
        c.close();
        }


        myDbHelper.setSearch(value1);
        c1 = myDbHelper.getService();
        if(c1.getCount()!=0){
            c1.moveToFirst();

            while (!c1.isAfterLast()) {
                tv5.setText("Service Type:" + c1.getString(c1.getColumnIndex("description")));
                tv6.setText(value1);
                c1.moveToNext();
            }
        c1.close();
        }

        myDbHelper.close();}}

我想要这样的布局,Layout 前两个文本在同一行中,一个在右边,另一个在左角,另外四个垂直向下。怎么做到这一点?

8 个答案:

答案 0 :(得分:2)

你可以尝试这个......

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/lay"
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"
            android:background="#FFFFFF"
            android:orientation="horizontal">

                <TextView android:id="@+id/num1" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:textColor="#000000" 
                android:textSize="10dip"
                android:text="test"
                android:layout_weight="1"/>

                <TextView android:id="@+id/date1" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:textColor="#000000"
                android:textSize="10dip" 
                android:layout_marginLeft="10dp"
                android:text="test"
                android:layout_weight="1"/>

                <TextView android:id="@+id/cus1" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:textColor="#000000"
                android:textSize="10dip"
                android:text="test" 
                android:layout_weight="1"/>

                <TextView android:id="@+id/service1" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:textColor="#000000"
                android:textSize="10dip" 
                android:text="test"
                android:layout_weight="1"/>

                <TextView android:id="@+id/job1" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textColor="#000000"
                android:textSize="10dip" 
                android:text="test"/>

                <TextView android:id="@+id/des1" 
                android:layout_width="wrap_content" 
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:textColor="#000000"
                android:textSize="10dip" 
                android:text="test"/>
        </LinearLayout>
        <LinearLayout
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal"
            android:background="#FFFFFF" >

            <EditText
            android:id="@+id/EditTextName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/followup"
            android:inputType="textMultiLine"
            android:lines="3" />
        </LinearLayout>
        <LinearLayout
        android:layout_weight="1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="horizontal"
        android:background="#FFFFFF" />
</LinearLayout>

答案 1 :(得分:1)

您已将layout_width属性TextView设置为0dip,但其中只有两个属性具有layout_weight属性。其他四个宽度为零。

或者:

  • 将您的四个最低TextView设置为宽度&gt; 0dip ...
  • ...或者,将layout_width属性添加到剩余的四个TextView中,就像前两个属性一样。

根据评论进行修改:

<LinearLayout
    ...
    android:orientation="vertical">

    <LinearLayout
        ...
        android:orientation="horizontal">

        <TextView />

        <TextView />

    </LinearLayout>

    <LinearLayout
        ...
        android:orientation="vertical">

        <TextView />

        <TextView />

        <TextView />

        <TextView />

    </LinearLayout>

</LinearLayout>

这只是一个基本草案,因此您可以了解哪些布局属于哪里。请记住设置布局权重,宽度,高度,ID等等。

答案 2 :(得分:1)

您需要将表格布局或3 LinearLayout放在weight = 1。

3行,2列,宽度固定

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    android:orientation="vertical" 
    android:background="#FFFFFF" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF" >

        <TextView
            android:id="@+id/num1"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="left"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/date1"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_weight="1"
            android:gravity="right"
            android:textColor="#000000"
            android:textSize="10dip" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF" >

        <TextView
            android:id="@+id/cus1"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="left"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/service1"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="right"
            android:textColor="#000000"
            android:textSize="10dip" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF" >

        <TextView
            android:id="@+id/job1"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="left"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/des1"
            android:layout_width="0dip"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="right"
            android:textColor="#000000"
            android:textSize="10dip" />
    </LinearLayout>
</LinearLayout>

答案 3 :(得分:0)

除非您在每个文字视图上设置文字

,否则线性布局内的每个文字视图都是不可见的

答案 4 :(得分:0)

我试图解决你的问题。这是我已经解决的问题我不知道你到底需要什么。我想你想在相同的线性布局中以相同的宽度显示文本视图。

<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout 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/lay"
 android:layout_weight="1"
 android:layout_width="match_parent"
 android:layout_height="fill_parent"
 android:background="#FFFFFF">
<TextView android:id="@+id/num1" 
 android:layout_height="wrap_content"
 android:gravity="left"
 android:textColor="#000000" 
 android:textSize="10sp"
 android:layout_weight="1"
 android:text="rgfgfd"
 android:layout_width="wrap_content"/>
<TextView android:id="@+id/date1" 
android:layout_height="wrap_content"
android:gravity="right"
android:textColor="#000000"
android:textSize="10sp" 
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:text="sdfsdfsdf"
android:layout_width="wrap_content"/>
<TextView android:id="@+id/cus1" 
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#000000"
android:textSize="10dip"
android:layout_weight="1"
android:layout_width="wrap_content"/>
<TextView android:id="@+id/service1" 
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#000000"
android:textSize="10dip"
android:layout_weight="1"
android:layout_width="wrap_content"/>
<TextView android:id="@+id/job1" 
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#000000"
android:textSize="10dip"
android:layout_weight="1"
android:layout_width="wrap_content"/>
<TextView android:id="@+id/des1" 
android:layout_height="wrap_content"
android:gravity="left"
android:textColor="#000000"
android:textSize="10dip"
android:layout_weight="1"
android:layout_width="wrap_content"/>
</LinearLayout>
<LinearLayout
  android:layout_weight="1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="horizontal"
  android:background="#FFFFFF" >
<EditText
 android:id="@+id/EditTextName"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:hint="followup"
 android:inputType="textMultiLine"
 android:lines="3" />
</LinearLayout>
<LinearLayout
  android:layout_weight="1"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="horizontal"
  android:background="#FFFFFF" />
</LinearLayout>

答案 5 :(得分:0)

表示横向文字视图:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF"
        android:orientation="horizontal" >

        <TextView
            android:id="@+id/num1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="@android:color/black"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/date1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="right"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/cus1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/service1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/job1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/des1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/EditTextName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/followup"
            android:inputType="textMultiLine"
            android:lines="3" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF"
        android:orientation="horizontal" />

垂直textViews

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/num1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="@android:color/black"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/date1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="right"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/cus1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/service1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/job1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />

        <TextView
            android:id="@+id/des1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:gravity="left"
            android:text="ryhgfderuh"
            android:textColor="#000000"
            android:textSize="10dip" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/EditTextName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/followup"
            android:inputType="textMultiLine"
            android:lines="3" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#FFFFFF"
        android:orientation="horizontal" />

答案 6 :(得分:0)

看到这张图片。我已经解决了你的问题:

enter image description here

遵循此XML代码使其成为可能:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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/lay" android:layout_weight="1"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:background="#FFFFFF">
        <TextView android:id="@+id/num1" android:layout_width="wrap_content"
            android:text="first" android:layout_height="wrap_content"
            android:gravity="left" android:textColor="#000000" android:textSize="10dip"
            android:layout_weight="1" />
        <TextView android:id="@+id/date1" android:layout_width="wrap_content"
            android:text="second" android:layout_height="wrap_content"
            android:textColor="#000000" android:textSize="10dip"
            android:layout_marginLeft="10dp" android:layout_weight="1" />
        <TextView android:id="@+id/cus1" android:layout_width="wrap_content"
            android:text="third" android:layout_weight="1" android:layout_height="wrap_content"
            android:gravity="left" android:textColor="#000000" android:textSize="10dip" />
        <TextView android:id="@+id/service1" android:layout_width="wrap_content"
            android:text="fourth" android:layout_weight="1"
            android:layout_height="wrap_content" android:gravity="left"
            android:textColor="#000000" android:textSize="10dip" />
        <TextView android:id="@+id/job1" android:layout_width="wrap_content"
            android:text="fifth" android:layout_weight="1" android:layout_height="wrap_content"
            android:gravity="left" android:textColor="#000000" android:textSize="10dip" />
        <TextView android:id="@+id/des1" android:layout_width="wrap_content"
            android:text="sixth" android:layout_weight="1" android:layout_height="wrap_content"
            android:gravity="left" android:textColor="#000000" android:textSize="10dip" />
    </LinearLayout>
    <LinearLayout android:layout_weight="1"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:orientation="horizontal" android:background="#FFFFFF">
        <EditText android:id="@+id/EditTextName"
            android:layout_width="match_parent" android:layout_height="wrap_content"
            android:hint="followup" android:inputType="textMultiLine"
            android:lines="3" />
    </LinearLayout>
    <LinearLayout android:layout_weight="1"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:orientation="horizontal" android:background="#FFFFFF" />
</LinearLayout>

希望这对你有所帮助。

享受Coading。 。 。 。

:)

答案 7 :(得分:0)

我希望你打算实现这样的布局:

enter image description here

我已经使用这种布局来实现相同的目标:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <!-- Top Layout -->
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >
        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">
            <TextView 
                android:background="#ff0000"
                android:text="text 1"
                android:layout_weight="1"
                android:layout_width="0px"
                android:layout_height="wrap_content"/>
            <TextView 
                android:background="#00ff00"
                android:text="text 2"
                android:layout_weight="1"
                android:layout_width="0px"
                android:layout_height="wrap_content"/>
        </LinearLayout>
        <TextView
            android:background="#ffff22"
            android:text="text 3"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:background="#ff00ff"
            android:text="text 4"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:background="#00ffff"
            android:text="text 5"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
        <TextView
            android:background="#ff3322"
            android:text="text 6"
            android:layout_weight="1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
    </LinearLayout>

    <!-- Middle Layout -->
    <LinearLayout
        android:background="#0000ff"
        android:layout_weight="1" 
        android:layout_width="fill_parent"
        android:layout_height="0px"
        android:orientation="vertical" >
    </LinearLayout>

    <!-- Bottom Layout -->
    <LinearLayout
        android:background="#0ff3ff"
        android:layout_weight="1" 
        android:layout_width="fill_parent"
        android:layout_height="0px"
        android:orientation="vertical" >
    </LinearLayout>

</LinearLayout>

您可以修改android:backgroundandroid:text标签以满足您的目的。