小编Rom*_*ain的帖子

带孩子的自定义Android控件

我试图创建一个定制的Android控制包含一个LinearLayout中.您可以将其视为具有花式边框,背景,左侧图像的扩展LinearLayout ...

我可以用XML完成所有工作(效果很好),但由于我的应用程序中有很多次出现,因此很难维护.我觉得这样的东西会更好:

/* Main.xml */
<MyFancyLayout>
    <TextView />   /* what goes inside my control's linear layout */
</MyfancyLayout>
Run Code Online (Sandbox Code Playgroud)

你会怎么做?我想避免在onMeasure/onLayout方法上重写整个线性布局.这就是我现在所拥有的:

/* MyFancyLayout.xml */
<TableLayout>
    <ImageView />
    <LinearLayout id="container" />   /* where I want the real content to go */
</TableLayout>    
Run Code Online (Sandbox Code Playgroud)

/* MyFancyLayout.java */
public class MyFancyLayout extends LinearLayout
{
    public MyFancyLayout(Context context) {
        super(context);
        View.inflate(context, R.layout.my_fancy_layout, this);
    }
}
Run Code Online (Sandbox Code Playgroud)

您如何在正确的位置(id =容器)插入用户指定的内容(main.xml中的T​​extView)?

干杯!

罗曼

-----编辑-------

仍然没有运气,所以我改变了我的设计,使用更简单的布局,并决定使用一些重复的XML.仍然非常感兴趣的人知道如何做到这一点!

android border android-linearlayout

12
推荐指数
3
解决办法
2993
查看次数

清除较旧SDK上的完整Android活动堆栈(缺少FLAG_ACTIVITY_CLEAR_TASK)

我已经在SO上做了一些阅读和搜索,但找不到清除当前活动堆栈的方法.我的应用程序的上下文是由后台服务/通知启动的活动.

想象一下,我的应用程序允许您组织人员列表.几个小时前,您正在"查看"活动中查看人员X,现在这是您的堆栈顶部.在将来的某个时刻,服务会触发并为人Y弹出一个新的"通知"活动.从那里你可以编辑人Y的详细信息.

当你完成这个活动时,弹出堆栈并最终查看人X将是一个令人困惑的用户体验.理想情况下,我想回到用户正在做的任何事情(电子邮件等...),或者至少我的应用程序的主页.

我尝试启动"通知",FLAG_ACTIVTY_NEW_TASK但似乎没有帮助:当任务完成时,它只是回到上一个任务.我想要的似乎是Android 3的新功能FLAG_ACTIVITY_CLEAR_TASK,这在之前的SDK中并不存在.

有没有人有建议去做到这一点?

android android-intent android-activity back-stack

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

Silverlight XML编辑器/语法突出显示

我正在寻找一个提供XML语法高亮Silverlight文本编辑器控件.我在WinformsWPF中找到了一些答案,就像在Stackoverflow上一样,但我没有设法将它们转换为Silverlight.Silverlight缺少System.Drawing的事实可能是个大问题.

我在Silverlight 找到的唯一文本编辑器是Codeplex上的RichTextEdit,但我不认为它是实时语法高亮显示的合适基础.

有没有人听说过这样的控制,或者可以提供如何构建一个控件的提示?非常感谢,

罗曼

silverlight controls syntax-highlighting editor

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

Facebook SDK - iOS6登录弹出窗口无法解散

在我的iPhone应用程序中,我希望用户能够在Facebook上共享链接.

当他们点击"分享"时,我使用以下代码使用新的SDK 3.1登录Facebook,然后FBRequestConnection在完成处理程序中使用(一个简单的publish_action).

[FBSession openActiveSessionWithPublishPermissions:@[@"publish_actions"] defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:true completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {

    // Now call FBRequestConnection to post in the stream

}];
Run Code Online (Sandbox Code Playgroud)

当用户安装了Facebook应用程序时,它只会将登录信息委派给应用程序.但是,当它们不这样做时,它会在WebView中打开登录页面.

在iOS 5中,它会打开Mobile Safari:

在此输入图像描述

我的问题是在iOS 6上,我得到相同的流程,但在模式弹出窗口中(在我的应用程序之上).

在此输入图像描述

弹出窗口有2个问题:

1.关闭它

它不能被取消或驳回.相比之下,SDK中的HelloFacebookSample应用程序具有相同的弹出窗口,但有一个十字按钮可以关闭它.

在此输入图像描述

注意:现在解决了ravi,我错过了包含"关闭"图像的Facebook资源包.

2.接受权限

在弹出窗口的第二步(见上面的屏幕),按Okay不会做任何事情.按"X"会调用完成处理程序并显示错误,这很好,但Okay没有任何反应.这是使用SDK 3.1登录Facebook的正确方法吗?我是否错过了回调以特别对弹出窗口作出反应?

更多澄清:

仅当未安装 Facebook应用程序并且在iOS设置中配置 Facebook帐户时,才会在iOS6中进行此操作.

谢谢!

facebook ios5 facebook-ios-sdk ios6

6
推荐指数
1
解决办法
4550
查看次数

Node.js:Windows上的Foreman + Nodemon行为

经过几个小时的调试,我终于找到了为什么我的网络应用程序在Windows上崩溃的原因.NPM依赖有时会记录消息console.error,并且在运行Foreman + Nodemon组合时,这似乎在OSX和Windows上有不同的行为.

也许对这些工具有更多了解的人可以帮助解释一下这个问题?这是一个简单的应用程序来说明它:

app.js

console.log('1');
console.error('2');
console.log('3');
Run Code Online (Sandbox Code Playgroud)

nodemon --exec node app.js在OSX和Windows 7上运行正常,并提供预期的输出:

18 Feb 23:56:25 - [nodemon] v0.6.23
18 Feb 23:56:26 - [nodemon] watching: C:\project
18 Feb 23:56:26 - [nodemon] starting `node app.js`
1
2
3
18 Feb 23:56:26 - [nodemon] clean exit - waiting for changes before restart
Run Code Online (Sandbox Code Playgroud)

现在,使用Foreman和Procfile包装调用,它看起来像这样:

# Procfile
app: nodemon --exec node app.js
Run Code Online (Sandbox Code Playgroud)

在OSX上:

> foreman start

23:59:12 app.1  | started with pid 69229
23:59:12 app.1  | 18 Feb 23:59:12 …
Run Code Online (Sandbox Code Playgroud)

windows node.js foreman

6
推荐指数
0
解决办法
771
查看次数