【问题标题】:Highlight imageview of a tablerow突出显示 tablerow 的 imageview
【发布时间】:2013-10-04 09:38:44
【问题描述】:

我有一个包含三行的表格布局。我的 xml 文件是这样的

<TableLayout>
<TableRow>
    <ImageView/>
    <ImageView/>
    <ImageView/>
</TableRow>
<TableRow>
    <ImageView/>
    <ImageView/>
    <ImageView/>
</TableRow>
<TableRow>
    <ImageView/>
    <ImageView/>
    <ImageView/>
</TableRow>.

现在我想要的是通过按下按钮我想一一突出显示图像视图。你能帮助实现这一目标吗?提前致谢。

注意:我需要在按钮触摸时突出显示图像,按下时我需要从一个活动导航到另一个活动。

【问题讨论】:

  • 你想要一个持久的高亮还是只是对触摸事件的反馈?
  • 我想要一个持久的高亮,这样用户就可以理解视图被点击了。
  • 这样您就可以在单击时更改图像视图的背景,并在活动恢复时恢复所有背景。你能发布你的 onClickListners 的代码吗?
  • 我对 onclick 没有任何想法。你能举个例子吗?
  • 好的,我可以发布一些代码,重点是:在活动 A 中,您有多个 ImageView,当单击其中一个 ImageView 活动 B 时,将启动。如果活动 B 启动,活动 A 将不再可见,那么突出显示 ImageView 有什么意义?当回到活动 A 时,ImageView 将不再突出显示,对吧?

标签: android android-imageview android-tablelayout


【解决方案1】:

我会建议这样的事情,要使 ImageView 对单击做出反应,您必须在 ImageView 上调用 setOnClickListener,例如

ImageView iv = (ImageView) findViewById(R.id.myimageview);

iv.setOnClickListener(new OnClickListener(){
    @Override
    public void onClick(View v){
        // do your stuff
    }
});

您也可以让您的活动实现 OnClickListener 并调用

iv.setOnClickListener(this);

这样点击 imageview 就会调用 Activity 上的方法。

要使其对点击做出反应,您可以更改 onClick 内 imageview 的背景颜色,或者您可以使用选择器并将其设置为 xml 内 ImageView 的背景,例如

selector.xml(在drawable文件夹内)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/my_image_pressed"
          android:state_pressed="true" />
    <item android:drawable="@drawable/my_image_pressed"
          android:state_focused="true" />
    <item android:drawable="@drawable/my_image_unpressed" />
</selector>

在你的 xml 布局中

<ImageView
    ...
    android:background="@drawable/selector"
    ...

【讨论】:

  • 感谢您的回复..我已经尝试过选择器。没有这个亮点不可能啊?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多