`

HorizontalScrollView 水平动态生成TextView

阅读更多
第一种方法:

<HorizontalScrollView
        android:id="@+id/hs_tab"
        android:layout_width="fill_parent"
        android:layout_height="50dp"
        android:background="@color/white"
        android:layout_below="@id/activity_bbs_topc_list_top"
        android:scrollbars="none" >
       
        <LinearLayout
            android:id="@+id/ll_scrollview"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            >
           
        </LinearLayout>
       
    </HorizontalScrollView>








private void addBootypeTextView(final List<Ptype> result) {
for (int i = 0; i < result.size(); i++) {
final int index = i;
Ptype ptype = result.get(index);

layout = (LinearLayout) findViewById(R.id.ll_scrollview);

TextView tv = new TextView(mContext);

LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(
LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
lp.leftMargin = 10;
lp.rightMargin = 10;
lp.topMargin = 15;
tv.setLayoutParams(lp);
if (i == 0) {
tv.setBackgroundResource(R.drawable.selected);
tv.setTextColor(Color.rgb(255, 255, 255));
} else {
tv.setTextColor(Color.GRAY);
}
tv.setPadding(new DPIUtil().dip2px(mContext, 10.0f),
new DPIUtil().dip2px(mContext, 5.0f),
new DPIUtil().dip2px(mContext, 10.0f),
new DPIUtil().dip2px(mContext, 5.0f));
tv.setTextSize(16);
tv.setGravity(Gravity.CENTER);
tv.setText(ptype.getName());
layout.addView(tv);

tv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
setViewByForeach();

v.setBackgroundResource(R.drawable.selected);
TextView textView = (TextView) v;
textView.setTextColor(Color.rgb(255, 255, 255));
typeId = result.get(index).getId();
topicList.clear();
refresh();
}

void setViewByForeach() {
int childCount = layout.getChildCount();
for (int j = 0; j < childCount; j++) {
TextView textview = (TextView) layout.getChildAt(j);
textview.setBackgroundColor(-1);
textview.setTextColor(Color.GRAY);
}
}
});
}
}

第二种方法:
直接上图
  • 大小: 50 KB
  • 大小: 188.4 KB
分享到:
评论

相关推荐

    HorizontalScrollView动态添加控件并可以移动到点击的控件的位置

    通过这个方法,我们可以创建一个可滚动的视图,其中包含动态生成的控件,用户点击任何控件时,HorizontalScrollView会自动滚动到该控件的位置,提供良好的用户体验。在实际项目中,你可能还需要考虑性能优化,例如...

    Android应用源码之ScrollViewAndHorizontalViewSample-IT计算机-毕业设计.zip

    例如,可能使用Adapter来填充HorizontalScrollView或ScrollView内的数据,或者利用LayoutInflater动态生成视图。这将帮助学习者理解Android应用的生命周期,以及如何在不同组件之间协调工作。 毕业设计通常需要撰写...

    横向listview与竖向listview相结合

    首先,HorizontalScrollView是Android SDK中的一个视图容器,它可以容纳一个或多个水平方向排列的子视图,并允许用户通过滑动来查看超出屏幕范围的内容。而ListView则是一个可滚动的视图,它能显示一个数据集的列表...

    scorllView——demo

    6. **动态添加内容**:在运行时,可以通过编程方式动态向ScrollView添加视图,这对于根据用户行为生成动态内容的场景非常实用。 7. **事件监听**:ScrollView提供了OnScrollChangeListener接口,可以监听滚动事件,...

    android自定义导航、可滚动(添加子导航、栏目)

    1. 动态生成:根据后台数据动态创建导航栏项,可以避免硬编码和布局文件过于复杂。 2. LiveData或RxJava:结合MVVM架构,使用LiveData或RxJava可以实现实时更新导航栏,比如当用户登录后,导航栏出现新的栏目。 五...

    LinearLayout表格

    总结来说,使用`LinearLayout`生成表格是一种常见的Android开发技巧,通过结合`ScrollView`和`HorizontalScrollView`可以实现滚动效果,而`CheckBox`则可以用来支持多选功能。对于大数据量的展示,可以考虑使用`...

    Android 具有左右滑动功能的时间轴控件

    2. 在根布局内,添加一个HorizontalScrollView,这将允许用户水平滑动查看时间轴。 3. 在HorizontalScrollView中,创建一个LinearLayout(可选地使用垂直方向),用作时间轴的主要容器,它将包含所有的时间点。 **...

    listview上下左右滑动效果,类似一个excel表格

    4. **适配器调整**: 需要确保适配器生成的每个item都能正确显示多列数据,与水平滑动配合。 至于标签中的"excel",这可能意味着期望模拟Excel的单元格效果,每个item看起来像一个单元格,包含多个列的数据。这可以...

    android 热门标签 demo

    在Android应用中,我们可以使用`TextView`或其他自定义视图来创建标签,但为了实现动态添加、删除以及交互效果,通常我们会用到`FlowLayout`或`HorizontalScrollView`等容器控件。 在提供的压缩包中,`...

    TableLayout:Ejercicio de datos dinamicos摆在桌子上

    - 当需要展示的数据是动态生成时,可以使用代码动态添加TableRow和View。首先,创建一个TableLayout实例,然后在循环中创建TableRow,并为每一行添加相应的View。例如,对于一个包含姓名和年龄的列表,可以创建两个...

    模仿微信联系人的字母索引

    - 在布局文件中,我们需要添加一个水平的ScrollView或者HorizontalScrollView,用来显示A到Z的字母条目。每个字母都是一个可点击的View,可以通过设置OnClickListener监听用户的点击事件。 - 字母条目的高度和宽度...

    Android知识点

    **3.2 HorizontalScrollView (水平滑动布局)** - **定义**: 允许内容在水平方向上滚动的布局。 - **用途**: 当内容超出屏幕宽度时,提供水平滚动功能。 **3.3 RandOmAccessFile (随机文件访问)** - **定义**: 提供...

    android知识点整理

    此外,`&lt;ImageButton&gt;`可以设置图标作为按钮,`&lt;HorizontalScrollView&gt;`实现水平滚动布局,`&lt;ProgressBar&gt;`用于显示进度条,样式可以通过`Style="@android:style"`进行定制。 在Android中,应用的响应性非常重要。...

    Android 高仿网易新闻抽屉效果+横向菜单+页面滑动-IT计算机-毕业设计.zip

    开发者可能使用了`HorizontalScrollView`或`RecyclerView`配合`LinearLayoutManager`来实现水平滚动的效果。每个菜单项可以是`ImageView`和`TextView`的组合,通过点击事件切换相应的页面。 3. 页面滑动(Page ...

Global site tag (gtag.js) - Google Analytics