如何以编程方式在 android 中的 linearlayout 中为 textview 提供位置
how to give positions to textview in linearlayout in android programmatically
我使用这段代码创建了一个文本视图,我想将这个文本视图放在 lineaelayout 的顶部(类似于 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);
lnr_list_event.addView(valueTV);
我的 xml 文件是...
我想将文本视图放在第一个positiov(顶部)上方,使用最后放置的上面代码...请帮助我
<?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>
在您的 activity 中通过 id 获取根线性布局,即 lnr_list_event。然后在带有 index.
的根视图上使用方法 addView
LinearLayout root = (LinearLayout) findViewById(R.id.lnr_list_event);
root.addView(yourHeaderView, 0, layoutparams);
如果您在 xml
中声明 TextView
并在代码中声明 hide and show
会更好。因此无需在每张图中都初始化同一个对象。
隐藏和显示可以用下面的代码完成
textView.setVisibility(View.VISIBLE); //TO Show
textView.setVisibility(View.INVISIBLE); //TO Hide
textView.setVisibility(View.GONE); //To Hide and Release the space to otherview.
试试这个,
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" />
我使用这段代码创建了一个文本视图,我想将这个文本视图放在 lineaelayout 的顶部(类似于 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);
lnr_list_event.addView(valueTV);
我的 xml 文件是... 我想将文本视图放在第一个positiov(顶部)上方,使用最后放置的上面代码...请帮助我
<?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>
在您的 activity 中通过 id 获取根线性布局,即 lnr_list_event。然后在带有 index.
的根视图上使用方法 addViewLinearLayout root = (LinearLayout) findViewById(R.id.lnr_list_event);
root.addView(yourHeaderView, 0, layoutparams);
如果您在 xml
中声明 TextView
并在代码中声明 hide and show
会更好。因此无需在每张图中都初始化同一个对象。
隐藏和显示可以用下面的代码完成
textView.setVisibility(View.VISIBLE); //TO Show
textView.setVisibility(View.INVISIBLE); //TO Hide
textView.setVisibility(View.GONE); //To Hide and Release the space to otherview.
试试这个,
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" />