标签: clickable

如何让底层div无法点击?

我做了叠加div:

position: absolute; top: 0; left: 0; widht: 100%; height: 100%;
Run Code Online (Sandbox Code Playgroud)

基本上我希望这个叠加div覆盖我的整个页面.它做了我需要的,但我也需要底层的div是不可点击的.它们确实无法点击,但仅限于FF,Safari和Chrome.在IE和Opera中,您仍然可以单击下面的按钮.

有没有人知道如何实现这种"无法解决的潜在行为"?

html css overlay clickable

8
推荐指数
2
解决办法
2万
查看次数

动画后,TranslateAnimated ImageView无法点击[Android]

我有2 ImageView秒,我从屏幕的顶部翻译到底部.这些视图是从xml中隐藏的,并且动画是从java代码添加的.动画效果很好,但onClickListener我在java代码中添加的内容似乎不起作用.我使用fillAfter动画的属性使翻译后的iamges保持在他们的到来,但这些图像不再可点击了......但是,他们在翻译前的位置仍然可以点击...我看不出这个的逻辑.有人可以给我一些建议吗?

animation android clickable

8
推荐指数
1
解决办法
5893
查看次数

Android,通过可点击的小部件进行手势

我的应用程序包含一个填充按钮的区域.我希望以这种方式实现活动,按钮区域上的fling手势会将其切换到另外两个区域之一(使用ViewFlipper).

我在检测手势方面做了两种方法.第一个涉及使用GestureDetector.但是,Button上的触摸动作事件没有引发onTouchEvent活动方法,所以 - 结果 - 我无法将它转发到GestureDetector类.简而言之,失败.

第二种方法 - 使用GestureOverlayView.然而,这一次,我已经达到了第二个极端:不仅检测到手势,而且执行手势的按钮报告了点击.

我希望界面以下列方式工作:如果用户触摸按钮并释放触摸(或仅略微移动手指),则按钮会报告单击并且未检测到任何手势.另一方面,如果用户触摸屏幕并进行更长时间的移动,则应检测手势并且按钮不报告点击事件.

我已经实现了一个小概念验证应用程序.活动XML代码如下:

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"  xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical">
  <android.gesture.GestureOverlayView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/overlay">
    <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical">
    <TextView android:id="@+id/display" android:layout_width="match_parent" android:layout_height="wrap_content" />
    <Button android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/button"/>
    </LinearLayout>
  </android.gesture.GestureOverlayView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

活动java代码如下:

package spk.sketchbook;

import android.app.Activity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.gesture.*;
import android.gesture.GestureOverlayView.OnGestureListener;

public class Main extends Activity implements OnGestureListener, OnClickListener
{       
  private void SetupEvents()
  {
    GestureOverlayView ov = (GestureOverlayView)findViewById(R.id.overlay);
    ov.addOnGestureListener(this); …
Run Code Online (Sandbox Code Playgroud)

user-interface android interface gestures clickable

8
推荐指数
1
解决办法
4377
查看次数

使用不同的单击状态创建不规则形状的ImageButton

我创建了一个带按钮和非按下状态选择器的ImageButton,这很好用.

但是按钮的形状不规则,我只希望它可以在底层矩形图像不透明的地方点击.

所以我实现了一个OnTouchListener,它根据Bitmap的像素值检查触摸事件的坐标(如第一个答案中所述:链接).就判断是否按下按钮的逻辑而言,这是有效的,但现在按钮的图像不再变为按下的图像.

这是我有的:

选择器xml文件:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:drawable="@drawable/button_start_call_pressed" />
    <item android:drawable="@drawable/button_start_call_normal" />
</selector>
Run Code Online (Sandbox Code Playgroud)

布局中部分透明的ImageButton:

<ImageButton
    android:id="@+id/dashboardStartCallButton"
    android:background="@null"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/start_call_button_selector"
     />
Run Code Online (Sandbox Code Playgroud)

在活动中:

public void onCreate(Bundle savedInstance) {
   super.onCreate(savedInstance);
   ...
   ImageButton startCallButton = (ImageButton) this.findViewById(R.id.dashboardStartCallButton);
   startCallButton.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return OnStartCallButtonTouch(v,event);
        }           
    });
}


public boolean OnStartCallButtonTouch(View v, MotionEvent event)
{
    Bitmap TheBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.button_start_call_normal);
    int eventPadTouch = event.getAction();
    int iX = (int) event.getX();
    int …
Run Code Online (Sandbox Code Playgroud)

android transparent touch imagebutton clickable

8
推荐指数
1
解决办法
2939
查看次数

使用IE 7或8时,如果隐藏,则单击标签不检查复选框

我正在尝试使用与checkbox元素关联的标签创建一个自定义设计的复选框,并隐藏(display:none)复选框.

这在除IE之外的所有浏览器中都能正常工作,这需要使复选框可见,以便标签可以点击.

这是我的代码......

HTML

<input type="checkbox" id="myCheck" />?
Run Code Online (Sandbox Code Playgroud)

CSS

label.checkbox {
    border:1px solid #666;
    width:25px;
    height:23px;
    display:block; 
}?
Run Code Online (Sandbox Code Playgroud)

jQuery的

$("input[type=checkbox]").each(function() {
    $(this).hide().before('<label for="' + $(this).attr("id") + '" class="checkbox"></label>');
});

$("input[type=checkbox]").live('change', function() {
    if ($(this).prop('checked') == true) {
        $('label[for=' + $(this).attr("id") + ']').html("X")
    } else {
        $('label[for=' + $(this).attr("id") + ']').html("")
    }
});?
Run Code Online (Sandbox Code Playgroud)

或者是jsfiddle

javascript checkbox jquery label clickable

8
推荐指数
1
解决办法
9980
查看次数

展开ClickableSpan的触控区域

我有一个TextView,我在其中设置HTML文本.本文有很多链接.点击链接时,它并不总是触发onClick方法.因此,我正在尝试扩展ClickableSpan的区域,以便始终响应.

int start = strBuilder.getSpanStart(span);
int end = strBuilder.getSpanEnd(span);
int flags = strBuilder.getSpanFlags(span);
final ClickableSpan clickable = new ClickableSpan() {
  public void onClick(View view) {
    getTouchActions(span.getURL());
  }
};
strBuilder.setSpan(clickable, start, end, flags);
strBuilder.removeSpan(span);
Run Code Online (Sandbox Code Playgroud)

html android clickable

8
推荐指数
1
解决办法
1411
查看次数

使JButton不可见但可点击?

如何在java中创建一个JButton,不可见但可点击?

button.setVisible(false); 
Run Code Online (Sandbox Code Playgroud)

使按钮不可见,但不可点击,是否有任何方法使其不可见,但可点击?

我试过做:

button.setVisible(false);
button.setEnabled(true);
Run Code Online (Sandbox Code Playgroud)

但那也不起作用.我想这样做是因为我想要一个带图像的按钮,如果我将不可见的JButton放在图像上,按钮会在你点击图像时响应,或者是隐形按钮.

java swing invisible jbutton clickable

7
推荐指数
1
解决办法
3万
查看次数

Android - 为ClickSpan设置自定义可绘制背景

有没有办法我们可以将自定义drawable(从资源)设置为TextView的span,特别是ClickSpan?

谷歌通过覆盖跨度的updateDrawState()来返回许多关于禁用高亮或更改颜色等的答案,但是我没有看到如何将drawable设置为背景.

我在DynamicDrawableSpan中看到了一种可能性,但我无法使其与ClickableSpan一起使用.这是我的代码:

public class MyDynamicDrawableSpan extends DynamicDrawableSpan 
{
    private Context c;

public MyDynamicDrawableSpan(Context context) {
    super();
    c = context;
}

@Override
public Drawable getDrawable() {
    Resources res = c.getResources();
    Drawable d = res.getDrawable(R.drawable.span_background);
    return d;
}
Run Code Online (Sandbox Code Playgroud)

}

这就是我使用它的方式:

SpannableStringBuilder ssb = new SpannableStringBuilder(text);
MyDynamicDrawableSpan ddSpan = new MyDynamicDrawableSpan(getApplicationContext());
...
ssb.setSpan(ddSpan, start, end, 0);
ssb.setSpan(new ClickableSpan(...
Run Code Online (Sandbox Code Playgroud)

这不起作用.它只会使跨度不可见.有什么好主意吗?

android textview clickable

7
推荐指数
1
解决办法
5601
查看次数

在OpenLayers中可以使多个矢量图层可单击

我正在开发一个OpenLayers地图,它将同时显示多个KML图层.我希望能够点击任何图层中的某个功能,并弹出一个向我显示的信息.到目前为止,我只能点击最近添加的图层.如果我想点击之前添加的图层,我必须关闭之前添加的所有图层.显然这不太理想.到目前为止,这是我的代码:

var select = [];
function addLayer(layerId, layerLink, layerColor)
{

    var kmlLayer = new OpenLayers.Layer.Vector("Layer_"+layerId, {
        strategies: [new OpenLayers.Strategy.Fixed()],
        protocol: new OpenLayers.Protocol.HTTP({
            url: layerLink,
            format: new OpenLayers.Format.KML({
        extractStyles: true, 
        extractAttributes: true,
        maxDepth: 2
        })
    })
    });

    kmlLayer.events.on({
        "featureselected": onKMLSelect,
        "featureunselected": onKMLUnselect
    });

    select["Layer_"+layerId] = new OpenLayers.Control.SelectFeature(kmlLayer);
    map.addControl(select["Layer_"+layerId]);
    select["Layer_"+layerId].activate();  

    map.addLayer(kmlLayer);

}
function onKMLPopupClose(evt) {
    for(s in select)
    {
        select[s].unselectAll();
    }
}
function onKMLSelect(event) {
        var feature = event.feature;

    var content = "<h2>"+feature.attributes.name + "</h2>" + feature.attributes.description;
    popup = new OpenLayers.Popup.FramedCloud("chicken", 
                             feature.geometry.getBounds().getCenterLonLat(), …
Run Code Online (Sandbox Code Playgroud)

javascript vector openlayers clickable

7
推荐指数
1
解决办法
9663
查看次数

如何在列表视图中使项目可点击?

我一直在努力寻找解决方案,但收效甚微.我必须显示一个包含项目列表的弹出窗口.我能够显示窗口,但单击列表视图中的项目时未调用onitemclicklistener.任何有关此问题的帮助将不胜感激.

谢谢

EDIT1:

public class PopUpWindowActivity extends Activity {

    /** Called when the activity is first created. */
    String[] countries = new String[] {
        "India", "USA", "Canada"
    };

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        LinearLayout ll = new LinearLayout(this);
        ListView lv = new ListView(this);
        lv.setAdapter(new ArrayAdapter < String > (this, android.R.layout.simple_list_item_1, countries));
        lv.setOnItemClickListener(new OnItemClickListener() {

                public void onItemClick(AdapterView <? > arg0, View arg1, int arg2,
                    long arg3) {
                    Log.v("clicked", (String)((TextView) arg1).getText());
                }

            });
        ll.addView(lv); …
Run Code Online (Sandbox Code Playgroud)

android listview popupwindow clickable onitemclicklistener

7
推荐指数
2
解决办法
6万
查看次数