我正在尝试制作三列布局.我希望左右列的宽度只与子项内容一样宽.我希望中心列扩展以填充剩余空间.
我正在尝试以下(概述,包括下面的jsfiddle链接):
#colLeft {
display: inline;
float: left;
}
#colCenter {
float: left;
display: inline;
overflow: none;
white-space: nowrap;
}
#colRight {
display: inline;
float: right;
}
<div id="parent" style="width:100%">
<div id="colLeft">left</div>
<div id="colCenter">Some really long text in the center. Some really long text in the center.</div>
<div id="colRight">right</div>
</div>
Run Code Online (Sandbox Code Playgroud)
小提琴:http: //jsfiddle.net/5kszQ/
但是当其内容太长时,中间列会推动其下方的右列.我希望所有三列都是内联的,并根据需要缩小中心列.这就是上面给我的:
相反,我想:
谢谢你的帮助
我有一个类:
public class Barn {
String type;
Animal animal;
}
public class Horse extends Animal {
}
public class Cow extends Animal {
}
Run Code Online (Sandbox Code Playgroud)
我想序列化它们的列表:
List<Barn> barns = new ArrayList<Barn>();
Barn barn1 = new Barn();
barn1.setType("horse");
barn1.setAnimal(new Horse());
barns.add(barn1);
Barn barn2 = new Barn();
barn2.setType("cow");
barn2.setAnimal(new Cow());
barns.add(barn2);
...
Group<Barn> barns = gson.fromJson(serialized);
Run Code Online (Sandbox Code Playgroud)
当我序列化时,Animal属性的类型信息将丢失.有没有办法我可以以某种方式安装解析器监听器,以便我可以提供正确的类来反序列化,因为遇到列表中的每个元素?这就是手动提供描述类类型的字符串的想法.
谢谢
我有一个应用引擎项目,我想访问我的谷歌云存储默认存储桶.获取Credential对象的第一步失败,在实时实例上执行以下操作:
Credential creds = GoogleCredential.getApplicationDefault();
Run Code Online (Sandbox Code Playgroud)
我收到的异常消息:
"应用程序默认凭据不可用.如果在Google Compute Engine中运行,则可以使用它们.否则,必须定义环境变量GOOGLE_APPLICATION_CREDENTIALS,指向定义凭据的文件.请参阅https://developers.google.com/accounts/docs/application-default-credentials有关详细信息."
这里的文档说生产应用程序引擎项目应该可以访问默认凭据吗?:
https://developers.google.com/identity/protocols/application-default-credentials
"3.如果您在Google App Engine生产中运行,将使用与该应用程序关联的内置服务帐户."
我缺少一些设置吗?
我的app引擎版本(gradle):
com.google.appengine:appengine-java-sdk:1.9.18
Run Code Online (Sandbox Code Playgroud)
和谷歌云存储库版本:
com.google.apis:google-api-services-storage:v1-rev35-1.20.0
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试将新MapView的实例放在ListView中.新的mapview是:
com.google.android.gms.maps.MapView
Run Code Online (Sandbox Code Playgroud)
我正在关闭所有交互,并为视图设置固定高度:
GoogleMapOptions options = new GoogleMapOptions();
options.mapType(GoogleMap.MAP_TYPE_NORMAL);
options.compassEnabled(false);
options.rotateGesturesEnabled(false);
options.scrollGesturesEnabled(false);
options.tiltGesturesEnabled(false);
options.zoomControlsEnabled(false);
options.zoomGesturesEnabled(false);
mMapView = new MapView(getActivity(), options);
mMapView.setLayoutParams(new AbsListView.LayoutParams(
AbsListView.LayoutParams.MATCH_PARENT,
200));
mMapView.setEnabled(false);
mMapView.setFocusable(false);
getListView().addHeaderView(mMapView);
getListView().addAdapter(simpleArrayAdapter);
Run Code Online (Sandbox Code Playgroud)
这很有效,但如果我快速滚动列表视图,看起来mapview渲染会稍微滞后,所以你可以在滚动方向看到一小块黑色像素.
这几乎看起来似乎是某种同步问题,因为我猜测使用opengl的mapview足够快以响应我的滚动进行渲染.此外,旧的MapView + MapActivity在相同的设置中也可以正常运行.
下面是快速滚动时出现间隙的图片.经过一段时间后,mapview将赶上并再次渲染.
有什么想法吗?
谢谢
-----更新---------
此问题看起来与以下内容相同:
使用Google Maps API v2的ViewPager:神秘的黑色视图
但是我无法在此设置中记录那里的修复程序.
android google-maps surfaceview android-maps android-maps-v2
我发现了:
-webkit-overflow-scrolling: touch;
Run Code Online (Sandbox Code Playgroud)
css元素给我们在ios上的原生滚动.这对我来说似乎没问题.
但有没有办法关闭"过度滚动"效应?
例如,当滚动位置=零,并且您继续向下拖动时,我的内容的顶部将向下移动,在其上方显示一点白色空间.当您松开手指时,内容会向上快退.有没有办法只禁用它的那部分?
我也从这里读到:
http://cantina.co/2012/03/06/ios-5-native-scrolling-grins-and-gothcas/
那个苹果已经介绍了这个与渲染有关的bug,以及一个修复的hack:
-webkit-transform: translate3d(0,0,0);
Run Code Online (Sandbox Code Playgroud)
应该修复它.这是用ios6修复的吗?
我有一个每15分钟运行一次的cron作业.它启动一个本地servlet,它试图从我运行的服务器(不是app引擎的一部分)打开一个url:
<cron>
<url>/utils/doUpCheck</url>
<description>Check that our third party server is up.</description>
<schedule>every 5 minutes</schedule>
</cron>
Run Code Online (Sandbox Code Playgroud)
在/ utils/doUpCheck的servlet中:
String url = "https://example.com:9443/echo";
HttpURLConnection conn = (HttpURLConnection)new URL(url).openConnection();
conn.setConnectTimeout(10000);
conn.setReadTimeout(10000);
...
Run Code Online (Sandbox Code Playgroud)
但是每次运行时我都会记录一个超时异常:
java.net.SocketTimeoutException:
Timeout while fetching URL: https://example.com:9443/echo
at com.google.appengine.api.urlfetch.URLFetchServiceImpl.convertApplicationException(URLFetchServiceImpl.java:142)
...
Run Code Online (Sandbox Code Playgroud)
我确定example.com上的服务器正在运行,每当我看到这个错误发生时,很容易从浏览器中检查.知道为什么会发生这种情况吗?当然,作为一个完整性检查,我已经用" https://google.com " 替换了网址,它运行正常.所以看起来像我的服务器特定的东西,但它再次适用于其他应用程序/浏览器,
谢谢
https://developers.google.com/appengine/docs/java/urlfetch/
-------更新----------
另外一项,我最近更改了第三方服务器的IP地址.那么app引擎可能会为该域名提供一些陈旧的dns条目?就像我之前说的那样,其他应用程序/浏览器都可以解析域名.
-------再次更新----------
我在同一台机器上打开了一个额外的端口来提供http请求(使用相同的webserver应用程序实例).所以app引擎可以很好地解决这个问题:
http://example.com:9000/echo
Run Code Online (Sandbox Code Playgroud)
但我继续得到超时:
https://example.com:9443/echo
Run Code Online (Sandbox Code Playgroud)
我确定" http://example.com:9443 "正在服务,因为我可以用任何浏览器点击它.它还使用来自受信任机构的证书,我在访问URL时不必为浏览器做任何例外.
我被困在这里,任何想法?
-------再次更新----------
我添加了一些代码来尝试使用低级别的URL提取服务,同样的问题,套接字超时异常.
我有一个来自服务的时间戳字符串,它有6毫秒的数字:
String timestamp = "2014-09-30T15:30:00.777777";
Run Code Online (Sandbox Code Playgroud)
我正在解析它:
String format = "yyyy-MM-dd'T'HH:mm:ss.SSS";
DateFormat df = new SimpleDateFormat(format, Locale.ENGLISH);
Date date = df.parse(timestamp);
SimpleDateFormat df2 = new SimpleDateFormat();
System.out.println(df2.format(date));
Run Code Online (Sandbox Code Playgroud)
我期待看到:
"9/30/14 3:30 PM"
Run Code Online (Sandbox Code Playgroud)
但相反,我得到:
"9/30/14 3:42 PM"
Run Code Online (Sandbox Code Playgroud)
提前十二分钟.我尝试使用6毫秒数字的不同格式字符串:
String format = "yyyy-MM-dd'T'HH:mm:ss.SSSSSS";
Run Code Online (Sandbox Code Playgroud)
结果相同.
我似乎要做的是手动将传入的时间戳字符串截断为3毫秒数字:
timestamp = timestamp.substring(0, timestamp.length()-3);
Run Code Online (Sandbox Code Playgroud)
然后我得到了预期的结果.或者我可以使用忽略毫秒的截断格式字符串:
String format = "yyyy-MM-dd'T'HH:mm:ss";
Run Code Online (Sandbox Code Playgroud)
那些正确的解决方案?我只是在滥用SimpleDateFormat吗?
谢谢
css ×2
java ×2
android ×1
android-maps ×1
google-maps ×1
gson ×1
html ×1
ios ×1
surfaceview ×1
word-wrap ×1