我可以制作仅覆盖屏幕一半的Android应用程序

时间:2012-10-17 08:30:02

标签: android call

接收电话时我制作了广播接收器我想添加一个按钮(除了答案和拒绝),它会做一定的功能,所以我看到2个解决方案就是我做的(如果可能有半屏透明活动的话)按钮但不阻止答案和拒绝按钮,或者我看到的第二个解决方案是制作像Play.google上的BIG CALLER PICTURE应用程序,任何人都可以向我推荐一些很好的例子.THX

  public class CallReceiveD extends BroadcastReceiver {
private ITelephony telephonyService;
String phoneNumber;
@Override
public void onReceive(Context context, Intent intent) {
    // i will call the intent here

            }}  

4 个答案:

答案 0 :(得分:3)

您绝对可以将活动创建为占据屏幕一部分的对话框。虽然我不确定这会达到你想要的效果,因为通过打开新活动,电话活动应该会被调用,并且可能会弄乱你的流量。也许尝试打开一个活动并在清单中的活动中定义

<activity android:theme="@android:style/Theme.Dialog" />

看看它是否适用于您想要做的事情。然后你可以调整它的位置,大小等活动的暗淡。

答案 1 :(得分:1)

我不确定它是否会有所帮助,但是有一个名为StandOut的框架用于&#34;浮动&#34;应用。也许它可以帮到你...

http://forum.xda-developers.com/showthread.php?t=1688531

它提供了创建浮动在屏幕上的应用程序窗口的方法,而不是占用整个窗口。您仍然可以与下方的应用进行互动。该主题提供了很多例子,也许还有适合你的东西。

答案 2 :(得分:0)

我可能错了,但据我所知,你无法启动半屏意图(活动)。您可以执行透明活动,但它会阻止下面的系统按钮。我会说你必须尝试覆盖系统调用接收器工具来实现这一点。

答案 3 :(得分:0)

您当然可以创建部分屏幕活动。如果以MikeIsrael建议的对话主题开始,新活动下面没有任何内容。像往常一样简单地编写一个Activity,但是给它你选择的layout_width和layout_height - 说300x400dp。

然后可以使用onAttachWindow来设置大小和位置。此示例将窗口设置在显示屏的右上角,但位于actionBAr

下方
public void onAttachedToWindow() {
    super.onAttachedToWindow();

    View view = getWindow().getDecorView();
    WindowManager.LayoutParams lp = (WindowManager.LayoutParams) view.getLayoutParams();


    lp.gravity = Gravity.LEFT | Gravity.TOP;
    lp.width = (int)(400 * screenInfo.density);
    lp.x = screenInfo.widthPixels - lp.width;
    lp.y = actionBarHeight;
    getWindowManager().updateViewLayout(view, lp); 

}

请注意,尽管Gravity表示左上角,但X,Y决定了我放置窗口的位置