对于灵活的布局,您可以使用FlexboxLayout,您可以从Android开发者博客获取详细信息,对于开源FlexboxLayout依赖项,您可以访问Github。
如果您想以编程方式创建 TextView 并为每个 . 这是代码。首先删除布局中的所有textview。
TextView tv[] = new TextView[subCategory.length];
for (int i = 0; i < subCategory.length; i++) {
tv[i] = new TextView(this);
tv[i].setText(subCategory[i]);
tv[i].setId(i);
layout5.addView(tv[i]);
tv[i].setOnClickListener(onclicklistener);
}
对于听众
OnClickListener onclicklistener = new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(v == tv[0]){
//do whatever you want....
}
}
};
如果您想在运行时使用文本视图的数量,您可以尝试使用
GridView
as
<?xml version="1.0" encoding="utf-8"?>
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
还有 Gridview
item as TextView
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text"
/>
您可以在
onItemClickListener()
中执行操作 //根据位置或文本视图文本,使用 switch case
或其他方式选择操作。
GridView gridView = (GridView) findViewById(R.id.grid_view);
gridView.setAdapter(yourCustomAdapterObject);
gridView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//here view is your textview
switch (position) {
case 0: //action
break;
case 1://action
break;
....
}
}
});
如果您希望您的textView 出现多行且具有可滚动属性,则无需使用多个textView。 检查以下解决方案:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
<!--`enter code here`-->
android:background="#000000"
android:orientation="vertical" >
<TextView
android:id="@+id/textView_id"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#40000000"
android:maxLines="100"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:scrollbarThumbVertical="@android:color/transparent"
android:scrollbars="vertical"
android:textColor="@color/white"
android:textSize="16sp"
android:textStyle="bold" />
</LinearLayout>
您的活动中的以下代码:
TextView txtView = (TextView) findViewById(R.id.TextView_id);
txtView.setText("your text here");
txtView.setMovementMethod(new ScrollingMovementMethod());