Android,在LinearLayout中动态添加TextView,几点疑问
Android菜鸟,都是简单的知识点,请大家帮忙。有个动态的List<String>ss,动态添加TextView的代码为:publicstaticvoiddynamic...
Android 菜鸟,都是简单的知识点,请大家帮忙。
有个动态的List<String> ss, 动态添加TextView的代码为:
public static void dynamicAdd(LinearLayout linearLayout,List<String> ss) {
for(String s:ss){
TextView tw = new TextView(linearLayout.getContext());
tw.setText(s);
linearLayout.addView(tw);
}
}
例如List<String> ss 为 ["aaa","bbb","ccc"]
疑问:
1. 上面方法里的TextView是new出来的,能不能把这个TextView定义在一个独立的布局文件中,然后加载出来(好像是叫inflate的方法,但不知具体例子怎么用)
2. 两个TextView占一行,如果做到? (aaa和bbb这两个TextView占一行;ccc是最后一个,所以也一行)
3. TextView 之间需要分割线,如果做到?(行之间有分割线,同一行不同的TextView之间也有分割线) 展开
有个动态的List<String> ss, 动态添加TextView的代码为:
public static void dynamicAdd(LinearLayout linearLayout,List<String> ss) {
for(String s:ss){
TextView tw = new TextView(linearLayout.getContext());
tw.setText(s);
linearLayout.addView(tw);
}
}
例如List<String> ss 为 ["aaa","bbb","ccc"]
疑问:
1. 上面方法里的TextView是new出来的,能不能把这个TextView定义在一个独立的布局文件中,然后加载出来(好像是叫inflate的方法,但不知具体例子怎么用)
2. 两个TextView占一行,如果做到? (aaa和bbb这两个TextView占一行;ccc是最后一个,所以也一行)
3. TextView 之间需要分割线,如果做到?(行之间有分割线,同一行不同的TextView之间也有分割线) 展开
1个回答
展开全部
第一条:
是可以在xml中定义text的,比如定义textview layout文件如下:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:textSize="@dimen/textsize"
android:ellipsize="end"
android:layout_height="@dimen/height_22">
</TextView>
那么在代码里可以用inflater把该xml化成view,写法大致如下:
TextView text1 = (TextView) inflater.inflate(this, R.layout.text, null);
第二条:
两个text占一行的实现方式就多了,
比如可以在xml中把两个textview 放在一个horizontal的linearLayout中,或是使用 RelativeLayout放在同一行即可,关键是控制好两个textview都不换行就行。
第三条:
分割线的实现方式也有几种。
比如两个textview控件中有个imageview控件,imageview用线的图片。
或者用textview的drawableLeft drawableRight属性,把图片设置成前一个textview的drawableRight或是设置成后一个textview的drawableLeft,线使用图片或者自己定义都可以的。
是可以在xml中定义text的,比如定义textview layout文件如下:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:textSize="@dimen/textsize"
android:ellipsize="end"
android:layout_height="@dimen/height_22">
</TextView>
那么在代码里可以用inflater把该xml化成view,写法大致如下:
TextView text1 = (TextView) inflater.inflate(this, R.layout.text, null);
第二条:
两个text占一行的实现方式就多了,
比如可以在xml中把两个textview 放在一个horizontal的linearLayout中,或是使用 RelativeLayout放在同一行即可,关键是控制好两个textview都不换行就行。
第三条:
分割线的实现方式也有几种。
比如两个textview控件中有个imageview控件,imageview用线的图片。
或者用textview的drawableLeft drawableRight属性,把图片设置成前一个textview的drawableRight或是设置成后一个textview的drawableLeft,线使用图片或者自己定义都可以的。
追问
很好,就你了,再问个问题,分割线应该可以直接用xml来定义吧,请问怎么用,给个简单的例子就行。
追答
背景自己挑图片吧,只要宽度为1就行了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询