小编fra*_*lbo的帖子

如何删除默认布局的填充/边距

我有以下布局文件:

activity_main.xml中

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:id="@+id/frame_container"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_marginLeft="0px"
    android:layout_marginRight="0px"
    android:layout_marginTop="0px"
    android:padding="0dp"
    >
    ...
</FrameLayout>
Run Code Online (Sandbox Code Playgroud)

和其他一些片段一样

fragment_init.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/fragmentInit"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="0dp"
    android:layout_marginTop="0px"
    android:layout_marginLeft="0px"
    android:layout_marginRight="0px"
    android:background="#549F07"
    >

    <TextView
        ... 
    >
    ...
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

Lint中的一切看起来都很好,但是当我在Nexus 7 5.0.2上执行我的应用程序时,每个容器都会显示一个填充或边距可能为10像素.

这由下图中的箭头说明 在此输入图像描述

如何强制布局不添加这些填充/边距?

编辑:我应该添加我插入片段的方式.

Activiy

 public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
        fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
        fragmentTransaction.replace(R.id.frame_container, new Fragment_init(), "Fragment_init").commit();
    }
}
Run Code Online (Sandbox Code Playgroud)

而且我在任何地方都不使用任何尺寸... Thks

android android-layout

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

当应用程序处于后台时,Android中未收到FCM数据消息

我面临一个非常奇怪的问题; 我使用GCM 8.4.0发布了我的应用程序的先前版本,该版本运行良好.我更新了一些代码,没有改变任何关于GCM的内容,我意识到当应用程序在后台时不再收到的消息.这在几个不同的设备上.

由于我无法找到任何解释,我迁移到FCM.我做了一些不成功的尝试,它开始工作了!?!然后我能够成功发送几个不同的消息,而不会改变任何东西!Houra !!!!

在生成我签名的APK之前,我做了最后一次测试!当应用程序处于后台时,Arrggghhhhh ....消息不再被收到!!!!

我使用我的服务器进行测试,使用高级REST请求,条件与我用于成功尝试的条件相同,但是,当应用程序处于前台时,它可以正常工作,但当应用程序处于后台时,它根本不再有用!

你有这样的问题吗?

我确切地说,当我收到前景中的应用程序的消息并从中生成通知时,有两种不同的行为:

  • 当应用程序能够在后台接收时,当我从最近的应用程序列表中滑出应用程序时,通知仍然存在.

  • 当应用程序无法在后台接收时,就像我目前的情况一样,当我将应用程序滑出时,生成的通知将被删除.

这是否意味着有用的东西?

编辑
我更新到9.2.0但问题仍然存在.

android firebase-cloud-messaging

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

iOS布局为什么中心约束不够?

我真的不明白这个的逻辑......好吧......奇怪的iOS布局系统.

我将具有约束中心X的UILabel放置到Superview.

为什么它抱怨需要X位置的新约束?

中心不是中心?

ios

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

PHP:使用empty()作为空字符串?

我最近发现了Deceze的这篇有趣的文章. 但我对其中一条建议感到有点困惑:

永远不要对应该存在的变量使用empty或isset

使用empty()不是测试是否$foo = '';为空的好选择?

php

6
推荐指数
3
解决办法
5803
查看次数

空安全的好处

我是Kotlin的新手,我已经读过它似乎是继轮子之后最好的发明。无论如何,这使我感到怀疑,当然是因为我不了解该概念所隐含的一切。

继续我的理解,在我们NullPointerException对代码中的某些错误以及发生问题的位置但没有设置null的地方有如此清晰的认识之前。无论如何,很明显我们可以在这里等到空指针返回,以期了解回溯发生了什么。每个人都已经做到了,这绝非不可能。

现在有了Null Pointer Safety,我们不再有这种崩溃,只有一部分代码将在我们的应用程序中默默地执行(当然,我们假设所使用的引用不应该像以前一样为null),可能导致奇怪的行为比NullPointerException以前更难以理解,或者只是某些任务在某人意识到之前一个月没有执行。

空指针安全性提供的好处吗?

null kotlin

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

如何将IP地址添加到squid的白名单

我找不到如何将 IP 地址添加到鱿鱼的白名单。

例如,我想添加 address 130.125.110.20,或者网络 130.125.110.* 的所有地址,或者可能只是一个定义的端口130.125.110.20:443

所以我期待像 acl whitelist IP xxx.xxx.xxx.xxx

怎么做?

acl squid

5
推荐指数
1
解决办法
4424
查看次数

如何在Ubuntu服务器16.04上启用PCNTL

我想知道如何在Ubuntu服务器16.04上运行的PHP7中启用pcntl扩展.
我看到了这个http://www.crimulus.com/2010/07/30/howto-enable-pcntl-in-ubuntu-php-installations/但我们真的要重新编译PHP7吗?

令我感到惊讶的是,其他扩展通常很容易添加apt-get.

谢谢

ubuntu-server php-7

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

Mapbox GL JS:样式未完成加载

我有一张地图,我们可以经典地从一种样式切换到另一种样式,例如从街道到卫星。

我想知道样式已加载,然后添加一个图层。

根据文档,我试图等待样式加载以基于GEOJson数据集添加图层。

当页面加载并触发时,该方法效果很好,map.on('load')但是当我更改样式时出现错误,因此从添加图层时map.on('styledataloading'),甚至在Firefox中出现内存问题。

我的代码是:

mapboxgl.accessToken = 'pk.token';
var map = new mapboxgl.Map({
    container: 'map',
    style: 'mapbox://styles/mapbox/streets-v10',
    center: [5,45.5],
    zoom: 7
});

map.on('load', function () {

    loadRegionMask();
});

map.on('styledataloading', function (styledata) {

    if (map.isStyleLoaded()) {
        loadRegionMask();
    }
});

$('#typeMap').on('click', function switchLayer(layer) {
    var layerId = layer.target.control.id;

    switch (layerId) {
        case 'streets':
            map.setStyle('mapbox://styles/mapbox/' + layerId + '-v10');
        break;

        case 'satellite':
            map.setStyle('mapbox://styles/mapbox/satellite-streets-v9');
        break;
    }
});

function loadJSON(callback) {   

  var xobj = new XMLHttpRequest();
      xobj.overrideMimeType("application/json"); …
Run Code Online (Sandbox Code Playgroud)

mapbox mapbox-gl mapbox-gl-js

5
推荐指数
3
解决办法
3813
查看次数

这些利润从何而来?

我正在编写一个专有文件PrintService,并且在接收到的由 Android 生成的 PDF 文件上遇到了一些问题PrintManager。我认为某些打印属性设置不正确。

这是我用来打印一些东西的简单代码。这是我的测试应用程序:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    webView = new WebView(this);
    webView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

    // I also set padding to 0 in case....
    webView.setPadding(0, 0, 0, 0);

    // So I tried to set html margin/padding to 0 but it doesn't change the print preview
    String summary = "<html><body style=\"margin: 0; padding: 0; width:100%; height: 100%;\">" +
            "-------------------------------------<br/>" +
            "I'm just printing something!<br/>" +
            "-------------------------------------<br/>" +
            "</body></html>";
    webView.loadData(summary, "text/html; charset=utf-8", "utf-8");

} …
Run Code Online (Sandbox Code Playgroud)

printing android

5
推荐指数
2
解决办法
1674
查看次数

我无法让hideSoftInputFromWindow工作

一旦搜索完成,我会尝试隐藏软键盘,但我找不到它失败的原因.

我创建了如下搜索菜单:

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {

    String[] mSubActionsTitles = getResources().getStringArray(R.array.sub_actions_array);

    MenuItem item = menu.add(0, R.id.search, 0, mSubActionsTitles[0]);
    searchMenuItem = item;
    item.setIcon(android.R.drawable.ic_menu_search);
    item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM | MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);

    mSearchView = new SearchView(getActivity());
    mSearchView.setOnQueryTextListener(this);
    mSearchView.setOnCloseListener(this);
    mSearchView.setIconifiedByDefault(true);
    mSearchView.setQueryHint(getString(R.string.label_tvGivePosition));
    item.setActionView(mSearchView);
}
Run Code Online (Sandbox Code Playgroud)

输入文本后,我启动一个AsyncTask()执行HTTP查询的文本.然后,我们收到响应,我调用委托,我试图隐藏键盘:

public synchronized void sitesLoadingFinish(Integer result) {

    searchMenuItem.collapseActionView();
    View view = activity.getCurrentFocus();
    view.clearFocus();
    InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
Run Code Online (Sandbox Code Playgroud)

所以searchMenuItem.collapseActionView()很好崩溃,没有问题,但我无法让软键盘关闭.

android

4
推荐指数
1
解决办法
3190
查看次数