小编gru*_*unk的帖子

实现Parcelable接口时如何读/写布尔值?

我正在尝试制作一个ArrayList Parcelable自定义对象列表的活动.我开始编写一个myObjectList扩展ArrayList<myObject>和实现的类Parcelable.

某些属性MyObjectbooleanParcel没有任何方法read/writeBoolean.

处理这个问题的最佳方法是什么?

android parcelable

397
推荐指数
8
解决办法
10万
查看次数

工具栏导航图标从未设置

我正在尝试新的工具栏组件,并在导航图标上遇到一些问题.我想为后台导航实现自定义图标:

在我的清单中,我将父母设置为我的活动:

<activity android:name=".CardsActivity" android:parentActivityName=".MainActivity">
    <!-- Parent activity meta-data to support API level 7+ -->
    <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".MainActivity" />
</activity>
Run Code Online (Sandbox Code Playgroud)

我声明工具栏是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    tools:context="com.example.lollitest.MainActivity" >

    <android.support.v7.widget.Toolbar
        android:id="@+id/my_awesome_toolbar"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:minHeight="?attr/actionBarSize"
        android:layout_marginBottom="10dp"
        android:background="?attr/colorPrimary" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/my_awesome_toolbar"
        android:text="@string/hello_world" />

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

然后在我的活动中我配置工具栏如下:

Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar);
toolbar.setNavigationIcon(R.drawable.ic_good);
toolbar.setTitle("Title");
toolbar.setSubtitle("Sub");
toolbar.setLogo(R.drawable.ic_launcher);
setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)

哪个给我: 带后退按钮的工具栏

后面的图标不是我设置的图标setNavigationIcon()!无论我为方法提供什么样的绘图,导航图标始终是后退箭头.

我试图删除清单中的父关联,但唯一的效果是(显然)阻止按钮返回.

相反,如果我想要默认的后退箭头图标而不打电话setNavigationIcon()我根本没有任何图标.

处理工具栏中的导航图标(自定义和默认)的正确方法是什么?

NOte:我在Android 4.4上运行我的测试

android android-appcompat android-actionbar-compat material-design android-toolbar

64
推荐指数
4
解决办法
12万
查看次数

如何预览xml drawable?

我正在研究相当复杂的xml drawable,我想知道是否有任何工具/插件可以让我预览我的drawable?

我正在寻找类似于可用于布局的"图形布局"选项卡.

例如,如果我有这样的事情:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:left="0dp" android:right="0dp"> 
        <shape android:shape="rectangle">

            <gradient android:angle="-90" android:startColor="#2B2B2B"
                android:endColor="#000000" />

        </shape>
    </item>
    <item android:top="1sp" android:bottom="26sp" > 
        <shape android:shape="rectangle">
            <solid android:color="#10ffffff"/>
    </shape>

    </item>
</layer-list>
Run Code Online (Sandbox Code Playgroud)

如何预览形状和渐变?而且我可能在做梦,但有没有任何图形工具可以构建一个可绘制的?

android xml-drawable

39
推荐指数
4
解决办法
2万
查看次数

Angular cast选择值为int

我有一个不同选择的表单,如:

<select [(ngModel)]="selected.isConnected" (ngModelChange)="formChanged()" name="etat" id="etat" class="form-control">
    <option value="0">Not connected</option>
    <option value="1">Connected</option>
</select> 
Run Code Online (Sandbox Code Playgroud)

我的后端期望在"isConnected"属性中收到一个int.不幸的是,只要我更改select的值,属性就会转换为字符串:

{
    isConnected : "0", // 0 expected
}
Run Code Online (Sandbox Code Playgroud)

对于标准<input>我可以使用,type="number"<select>我是一无所知.

有没有办法强制角度2将数据转换为int?

forms casting angular

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

使用着色器从android ndk使用opengl es 2.0进行YUV到RGB的转换和显示

我目前正在使用ffmpeg在Android上使用rtsp播放器来连接和解码视频流.我想使用OpenGL es 2.0将YUV帧转换为RGB帧并显示它但我被阻止(这是我第一次使用opengl).

我会试着清楚地解释一下我的问题是什么.

从NDK android我使用这个方法初始化一个opengl上下文(从我想用来显示图像的线程):

    //
EGLint attribs[] = {
        EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
        EGL_BLUE_SIZE, 8,
        EGL_GREEN_SIZE, 8,
        EGL_RED_SIZE, 8,
        EGL_ALPHA_SIZE, 8,
        EGL_NONE
};
EGLint contextAttrs[] = {
        EGL_CONTEXT_CLIENT_VERSION, 2,
        EGL_NONE
};

LOGI("Initializing context");

if((display = eglGetDisplay(EGL_DEFAULT_DISPLAY)) == EGL_NO_DISPLAY)
{
    closeContext();
    return;
}

if(!eglInitialize(display, 0, 0))
{
    closeContext();
    return;
}

if(!eglChooseConfig(display, attribs, &config, 1, &numConfigs))
{
    closeContext();
    return;
}

if(!eglGetConfigAttrib(display, config, EGL_NATIVE_VISUAL_ID, &format))
{
    closeContext();
    return;
}

ANativeWindow_setBuffersGeometry(window, 0, 0, format);

if(!(surface = eglCreateWindowSurface(display, config, window, 0)))
{
    closeContext(); …
Run Code Online (Sandbox Code Playgroud)

c android opengl-es android-ndk

25
推荐指数
1
解决办法
2391
查看次数

如何从活动(viewpager)更新片段内容?

我有一个带有两个片段的简单viewPager.每个片段都包含一个TextView.我希望能够更新活动中显示的当前textView的文本.

活动:

public class MainActivity extends FragmentActivity {

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

        ArrayList<Fragment> fragments = new ArrayList<Fragment>();
        fragments.add(Fragment.instantiate(this, Live.class.getName()));
        fragments.add(Fragment.instantiate(this, Hit.class.getName()));

        this.pagerAdapter = new MyPagerAdapter(getSupportFragmentManager(),fragments);

        ViewPager pager = (ViewPager) findViewById(R.id.viewpager);
        pager.setAdapter(pagerAdapter);
    }
}
Run Code Online (Sandbox Code Playgroud)

适配器:

public class MyPagerAdapter extends FragmentPagerAdapter {

    private final ArrayList<Fragment> fragments;

    public MyPagerAdapter(FragmentManager fm, ArrayList<Fragment> fragments)
    {
        super(fm);
        this.fragments = fragments;
    }

    @Override
    public Fragment getItem(int position) {
        return this.fragments.get(position);
    }

    @Override
    public int getCount() {
        return this.fragments.size();
    }
}
Run Code Online (Sandbox Code Playgroud)

片段:

public class …
Run Code Online (Sandbox Code Playgroud)

android android-fragments android-viewpager

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

如何用XML制作双重渐变(喜欢iphone)

如何使用XML制作这种可绘制渐变?

双梯度图像

我可以做一个从颜色A到颜色B的简单渐变,但我不知道如何在同一个drawable中组合两个渐变.

android gradient

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

Android M:结算和GCM权限

我有一个使用GCM和Billing的应用程序.为了使Android M-ready我正在尝试实现新的权限模型.

很遗憾,我无法找到有关GCM和结算权限的任何信息.它们不会出现在正常的权限列表中,并且显然不可用,Manifest.permission.*因为它们不在android.permission命名空间下.

尽管如此,我们仍然必须在清单中声明它们

<uses-permission android:name="com.android.vending.BILLING">
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE">
Run Code Online (Sandbox Code Playgroud)

那么应该如何处理这些权限?它们会被自动授予吗?

android android-permissions android-6.0-marshmallow

14
推荐指数
1
解决办法
2100
查看次数

InfluxDB:单次或多次测量

我是涌入数据库的初学者,在阅读了Schema设计文档后,仍然存在一个问题.

如何决定是使用多个字段进行一次测量还是使用单个字段进行多次测量?

我有多个iot设备发送每个数据分钟(温度,湿度,压力).所有这些数据都具有完全相同的时间戳.

所以我想知道是否d创建一个这样的测量:

    timestamp,iotid,temperature,humidity,pressure
-------------------------------------------------
    1501230195,iot1,70,         45,      850
Run Code Online (Sandbox Code Playgroud)

或3次测量(每个值一次),标记相同但只有一个字段?

timestamp,iotid,temperature
----------------------------
    1501230195,iot1,70

timestamp,iotid,humidity
-------------------------
    1501230195,iot1,45

timestamp,iotid,pressure
-------------------------
    1501230195,iot1,850
Run Code Online (Sandbox Code Playgroud)

查询方面,我只能检索一个值,但同时也可以检索3个值.

database-schema influxdb

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

获取Context的更好方法是什么?

根据这个答案或android的文档,有几种方法可以在应用程序中获取Context并将其传递给其他类/方法/ anyuneed.

假设我在Foo活动中并且需要将上下文传递给Bar的构造函数.

Bar bar  = new Bar(Foo.this);
Bar bar2 = new Bar(this); //same as first i guess
Bar bar3 = new Bar(getApplicationContext());
Bar bar4 = new Bar(getBaseContext());
Bar bar5 = new Bar(MyApp.getContext); // get context statically 
Run Code Online (Sandbox Code Playgroud)

考虑到内存泄漏,速度,一般性能,所有这些可能性之间的更好方法是什么?

android android-context

11
推荐指数
1
解决办法
2407
查看次数