如何更改 Android 中选择的边框颜色(形状)?

发布于 2024-09-14 11:40:50 字数 221 浏览 2 评论 0原文

我使用 LinearLayout (bg:圆角矩形)围绕可绘制对象设置了边框。

可绘制对象和边框用作选项卡视图。我想在选择选项卡时更改其边框颜色。

我该怎么做?

颜色状态列表似乎不起作用,因为选择的视图不是形状(即边框)而是选项卡。可绘制状态列表似乎也不起作用,因为我试图在视图之间旋转,而不是可绘制对象。此外,我找不到任何此类“onSelectedListener”......

I've a border set around a drawable using LinearLayout (bg: rounded rectangle).

The drawable and the border is used as a tab view. I'd like to change the border color of the tab when it is selected.

How can I do this?

Color state list doesn't seem to work as the view being selected is not the shape (i.e border) but the tab. Drawable state list doesn't seem to work either as I'm trying to swivel between views, not drawables. Moreover, I can't find any "onSelectedListener" of the sort...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

单身情人 2024-09-21 11:40:50

您需要创建一个 OnClickListener 来处理点击,并让它更改适当的背景:

private OnClickListener tabClick(Context mContext){
  @Override
  onClick(View v){
    v.setBackgroundResource(R.drawable.active);
  }
}
myTab.setOnClickListener(tabClick);

You need to make an OnClickListener to handle clicks, and get it to change the appropriate background:

private OnClickListener tabClick(Context mContext){
  @Override
  onClick(View v){
    v.setBackgroundResource(R.drawable.active);
  }
}
myTab.setOnClickListener(tabClick);
写给空气的情书 2024-09-21 11:40:50

解决方案是在 TabHost 中调用 setOnTabChangeListener,然后手动更改所有内容。

The solution is to call setOnTabChangeListener in the TabHost and then change everything manually.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文