android操作简单的文字标签显示
程序员文章站
2022-05-31 13:58:07
...
项目中出现的标签栏相信大家都很熟悉了, 比如说热门搜索; 比如历史记录;都是参差不齐的关键字.以前大家做的方式一般都是自定义控件FlowLayout.但是最近偶然看到一个布局能起到类似的效果,而且方式非常简单.在这里贴出来:
首先引入依赖: compile 'com.google.android:flexbox:0.2.3'
布局文件中引用布局:
<com.google.android.flexbox.FlexboxLayout
android:id="@+id/flexbox"
app:flexWrap="wrap"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.google.android.flexbox.FlexboxLayout>
最后贴上java代码:
String[] strings = {"寒食过", "云雨消", "不夜侯正好", "又是一年", "采茶时节暖阳照", "风追着", "蝴蝶跑", "谁家种红苕", "木犁松土", "地龙惊兮蚁出巢", "翠盈盈", "悠香飘", "茶垄漫山绕", "钻进田间", "扯下笠帽 春眠要趁早"};
FlexboxLayout layout = (FlexboxLayout) findViewById(R.id.flexbox);
for (int i = 0; i < strings.length; i++) {
TextView textView = new TextView(this);
FlexboxLayout.LayoutParams layoutParams = new FlexboxLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
layoutParams.setMargins(35, 10, 35, 10);
textView.setText(strings[i]);
textView.setPadding(10, 10, 10, 10);
final int finalI = i;
textView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(MainActivity.this, "点击了" + finalI, Toast.LENGTH_SHORT).show();
}
});
textView.setBackgroundResource(R.drawable.corners0_stroke1gray_solidwhite);
textView.setLayoutParams(layoutParams);
layout.addView(textView);
}
好了, 这样就可以了,声明一下: 有一个drawable文件是加边框的. 中间也有添加点击事件的地方.贴出效果图:
上一篇: 毛豆容易消化吗
下一篇: iOS】带箭头的弹出菜单