我有一个ScrollView环绕我的整个布局,以便整个屏幕可滚动.我在这个ScrollView中的第一个元素是一个HorizontalScrollView块,它具有可以水平滚动的功能.我在horizontalscrollview中添加了一个ontouchlistener来处理触摸事件并强制视图"捕捉"到ACTION_UP事件上最近的图像.
所以我想要的效果就像股票android主屏幕,你可以从一个滚动到另一个,当你举起手指时,它会捕捉到一个屏幕.
这一切都很有效,除了一个问题:我需要从左到右几乎完全水平滑动,以便ACTION_UP进行注册.如果我至少垂直滑动(我认为许多人往往会在他们的手机上左右滑动),我会收到ACTION_CANCEL而不是ACTION_UP.我的理论是,这是因为横向视图滚动视图位于滚动视图内,并且滚动视图正在劫持垂直触摸以允许垂直滚动.
如何在水平滚动视图中禁用滚动视图的触摸事件,但仍允许在滚动视图中的其他位置正常垂直滚动?
这是我的代码示例:
public class HomeFeatureLayout extends HorizontalScrollView {
private ArrayList<ListItem> items = null;
private GestureDetector gestureDetector;
View.OnTouchListener gestureListener;
private static final int SWIPE_MIN_DISTANCE = 5;
private static final int SWIPE_THRESHOLD_VELOCITY = 300;
private int activeFeature = 0;
public HomeFeatureLayout(Context context, ArrayList<ListItem> items){
super(context);
setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));
setFadingEdgeLength(0);
this.setHorizontalScrollBarEnabled(false);
this.setVerticalScrollBarEnabled(false);
LinearLayout internalWrapper = new LinearLayout(context);
internalWrapper.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
internalWrapper.setOrientation(LinearLayout.HORIZONTAL);
addView(internalWrapper);
this.items = items;
for(int i = 0; i< items.size();i++){
LinearLayout featureLayout = (LinearLayout) View.inflate(this.getContext(),R.layout.homefeature,null);
TextView header = (TextView) …Run Code Online (Sandbox Code Playgroud) android horizontalscrollview ontouchlistener android-scrollview
我的Android应用程序中有一个WebView,它使用loadDataWithBaseURL()方法加载HTML字符串.问题是本地锚链接(<a href="#link">...)无法正常工作.单击链接时,它将突出显示,但不会滚动到相应的锚点.
如果我使用WebView的loadUrl()方法加载包含锚链接的页面,这也不起作用.但是,如果我在浏览器中加载相同的URL,则锚链接可以正常工作.
是否需要特殊处理才能使这些工作适用于WebView?
我正在使用API v4(1.6).
代码并不多,这里是我一直在使用的一些测试代码的相关部分:
WebView detailBody = (WebView) findViewById(R.id.article_detail_body);
String s = "<a href=\"#link\">LINK!</a><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><a name=\"link\"></a>Testing!";
detailBody.loadDataWithBaseURL(API.HomeURL(this), s, "text/html", "utf-8", "");
Run Code Online (Sandbox Code Playgroud) 任何人都可以推荐一种在条形图的多个实例中将X轴设置为恒定宽度的方法吗?
看到这个jsFiddle:http: //jsfiddle.net/LCYwW/1/
第一个图表是将2个位置的数据放在单个图表中的示例.在这种情况下,Highcharts会自动调整X轴宽度以适应两个位置标签.
但是,我需要将这两个位置分隔成单独的图表,但是对于两个图表,保持相同比例的X轴与条形区域宽度.请参见示例中的图表2和3.在这种情况下,Highcharts选择的X轴宽度仅适用于单个位置,而2个图表在堆叠时不会排列.
有没有办法让各个图表保持相同的比例?我尝试设置xAxis.labels.style.width属性,它做了一些事情,但似乎没有具体的宽度.见http://jsfiddle.net/LCYwW/3/
这个例子在jsFiddle中最容易看到,但SO要求我发布代码:
$('#containerAll').highcharts({
chart:{
type: 'bar'
},
series: [
{
name: 'Male',
data: [{"name":"58.1%","y":0.581}, {"name":"18.1%","y":0.181}]
},
{
name: 'Female',
data: [{"name":"58.5%","y":0.585}, {"name":"28.5%","y":0.285}]
}
],
xAxis: {
categories: ['Short Name', 'Much Longer Location Name']
}
});
$('#container1').highcharts({
chart:{
type: 'bar'
},
series: [
{
name: 'Male',
data: [{"name":"58.1%","y":0.581}]
},
{
name: 'Female',
data: [{"name":"58.5%","y":0.585}]
}
],
xAxis: {
categories: ['Short Name'],
labels: {
style: {
width: 200
}
}
}
}); …Run Code Online (Sandbox Code Playgroud)