【问题标题】:how to give positions to textview in linearlayout in android programmatically如何以编程方式在android中的linearlayout中为textview赋予位置
【发布时间】:2015-05-16 09:32:45
【问题描述】:

我使用此代码创建了一个文本视图,我想将此文本视图放在 lineaelayout 的顶部(意味着像标题)

TextView valueTV = new TextView(Schedule.this);
                valueTV.setText("Event in Progress");
                valueTV.setTextColor(Color.parseColor("#FFFFFF"));
                valueTV.setTypeface(TypeFaceConstant.getOpensasItalic(getApplicationContext()));
                valueTV.setId(0);
                valueTV.setLayoutParams(new LayoutParams(
                        LayoutParams.WRAP_CONTENT,
                        LayoutParams.WRAP_CONTENT));
                valueTV.setGravity(Gravity.TOP);
                valueTV.setPadding(20, 0, 0, 0);
                lnr_list_event.addView(valueTV);

我的 xml 文件是... 我想将文本视图放在第一个位置(顶部)的上方,最后使用上面的代码放置...请帮助我

 <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/lnr_list_event"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFFFFF"
android:orientation="vertical" android:paddingTop="5dp" android:paddingBottom="5dp" >

<LinearLayout
    android:id="@+id/lnr_list_progress"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:paddingBottom="10dp"
    android:paddingRight="10dp"
    android:paddingTop="10dp" >

    <ImageView
        android:id="@+id/calender"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:background="#00000000"
        android:src="@drawable/addevent" />

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_weight="4"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/event_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="1dp"
            android:text="dfdf"
            android:textColor="#000000"
            android:textSize="18sp" />

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

            <TextView
                android:id="@+id/event_duration"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="10dp"
                android:singleLine="false"
                android:textColor="@color/event_titles"
                android:textSize="16sp" />

            <TextView
                android:id="@+id/event_location"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@color/event_titles"
                android:textSize="16sp" />
        </LinearLayout>

        <TextView
            android:id="@+id/event_locationss"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/event_titles"
            android:textSize="16sp"
            android:visibility="gone" />
    </LinearLayout>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="5dp"
        android:src="@drawable/right_arrow" />
</LinearLayout>

【问题讨论】:

  • 我在列表视图中使用了上面的xml

标签: android xml textview android-linearlayout


【解决方案1】:

如果你在xml它自己和hide and show它从代码中声明TextView会更好。所以不需要在每张图中初始化同一个对象。

隐藏和显示可以用下面的代码来完成

textView.setVisibility(View.VISIBLE); //TO Show
textView.setVisibility(View.INVISIBLE); //TO Hide
textView.setVisibility(View.GONE); //To Hide and Release the space to otherview.

【讨论】:

    【解决方案2】:

    在您的活动中,通过 id 获取根线性布局,即 lnr_list_event。然后在带有索引的根视图上使用方法 addView。

    LinearLayout root = (LinearLayout) findViewById(R.id.lnr_list_event);

    root.addView(yourHeaderView, 0, layoutparams);

    【讨论】:

    • 你能告诉我我们是如何在 root.addView(yourHeaderView, 0, layoutparams); 中定义布局参数的吗
    • 它工作我使用了 LinearLayout.LayoutParams layoutparams = new LinearLayout.LayoutParams( LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, 1.0f);谢谢托马斯:)
    • 欢迎您。您甚至不需要指定重量。不过没关系 :)
    【解决方案3】:

    试试这个,

    LinearLayout header = (LinearLayout)findViewById(R.id.header);
    
    TextView valueTV = new TextView(Schedule.this);
                valueTV.setText("Event in Progress");
                valueTV.setTextColor(Color.parseColor("#FFFFFF"));
                valueTV.setTypeface(TypeFaceConstant.getOpensasItalic(getApplicationContext()));
                valueTV.setId(0);
                valueTV.setLayoutParams(new LayoutParams(
                        LayoutParams.WRAP_CONTENT,
                        LayoutParams.WRAP_CONTENT));
                valueTV.setGravity(Gravity.TOP);
                valueTV.setPadding(20, 0, 0, 0);
                header.addView(valueTV);
    

    还有xml文件,

     <?xml version="1.0" encoding="utf-8"?>
     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/lnr_list_event"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#FFFFFF"
        android:orientation="vertical" android:paddingTop="5dp"
        android:paddingBottom="5dp" >
    
    <LinearLayout
        android:id="@+id/header"
        android:layout_width="wrap_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
    </LinearLayout>
    
    <LinearLayout
        android:id="@+id/lnr_list_progress"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center_vertical"
        android:orientation="horizontal"
        android:paddingBottom="10dp"
        android:paddingRight="10dp"
        android:paddingTop="10dp" >
    
    <ImageView
        android:id="@+id/calender"
        android:layout_width="0dp"
        android:layout_height="50dp"
        android:layout_weight="1"
        android:background="#00000000"
        android:src="@drawable/addevent" />
    
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dp"
        android:layout_weight="4"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/event_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="1dp"
            android:text="dfdf"
            android:textColor="#000000"
            android:textSize="18sp" />
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center_vertical"
            android:orientation="horizontal" >
    
            <TextView
                android:id="@+id/event_duration"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:paddingRight="10dp"
                android:singleLine="false"
                android:textColor="@color/event_titles"
                android:textSize="16sp" />
    
            <TextView
                android:id="@+id/event_location"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@color/event_titles"
                android:textSize="16sp" />
        </LinearLayout>
    
        <TextView
            android:id="@+id/event_locationss"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/event_titles"
            android:textSize="16sp"
            android:visibility="gone" />
    </LinearLayout>
    
    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="5dp"
        android:src="@drawable/right_arrow" />
    

    【讨论】:

      猜你喜欢
      • 2017-08-23
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 2010-11-02
      • 1970-01-01
      • 2017-04-15
      • 1970-01-01
      • 2013-02-14
      相关资源
      最近更新 更多