我已经实现了CollapsingToolbarLayoutChris Banes示例代码中的新功能.
但是,背景图像视图的图像都具有白色背景.工具栏主题是ThemeOverlay.AppCompat.Dark.ActionBar图标也是白色的,因此当CollapsingToolbarLayout完全展开时我看不到主页按钮.
随着app:expandedTitleTextAppearance我可以设置标题字段的颜色.是否还可以设置主页按钮和菜单图标的颜色?
有了Androids新的权限系统,我想知道如何正确实现它.关于如何以及何时使用权限的教程似乎非常清楚.但是,我不知道谁请求权限以及请求它们的位置.
所以,基本上我的问题是:如果活动,谁开始另一个活动请求事先获得许可,或者需要许可的活动是否应该提出请求?
如果需要许可的活动应该请求它,我应该requestForPermission在里面onCreate还是在里面打电话onStart?
虽然这似乎是非常简单的问题,但我没有在文档中找到任何提示.
谢谢.
我对我创建的框架的podspec文件的定义存在问题.我有以下文件结构:
/
|-- module1/<source files>
|-- module2/<source files>
...
|-- moduleN/<source files>
|-- core-api/
| |-- module1/<header files>
| |-- module2/<header files>
| ...
| +-- moduleN/<header files>
|-- framework.podspec
+-- framework.xcodeproj
Run Code Online (Sandbox Code Playgroud)
在XCode中我添加$(SRCROOT)/core-api了USER_HEADER_SEARCH_PATHS以便Xcode可以正确找到公共头文件.
我的podspec文件如下所示:
s.default_subspec = 'module1'
s.subspec 'module1' do |ss|
ss.source_files = "module1/**/*.{h,m}"
end
s.subspec 'module2' do |ss|
ss.source_files = "module2/**/*.{h,m}"
end
...
s.subspec 'moduleN' do |ss|
ss.source_files = "moduleN/**/*.{h,m}"
end
Run Code Online (Sandbox Code Playgroud)
目前,没有指令定义core-api的头位置.当我这样做时,pod lib lint我得到错误,找不到相应的core-api标头.
我瞎搞用ss.header_dir,ss.header_mapping_dir,s.xcconfig有USER_HEADER_SEARCH_PATH,但他们没有为我工作. …
我已经构建了一个Android应用程序,可以使用谷歌地图显示用户的地理位置,除了Wifi,单元格和GPS之外还有一些附加信息,例如QR码,信标或任何我用来发信号通知当前位置的信息(我不是t考虑到这些位置的实际准确性).我正在使用LocationSource它并通过setLocationSource将其传递给Google Maps API .
我必须使用Google地图,因为Apple地图在可用缩放级别方面受到限制,因此我无法放大建筑物.
是否有可能LocationManager通过某些操作提供定期更新的自定义,并将其注入Google Maps API,如LocationSource?
我知道有一些黑客可以在地图上放置自定义标记,但这使得无法使用Google地图的其他功能,例如通过点击"我的位置"按钮将相机移动到用户位置.
谢谢.
我正在努力熟悉Android Lollipop的新设计指南.因此,特别是对于动画,我尝试为图标或按钮实现类似这些详细动画:http://www.google.com/design/spec/animation/delightful-details.html
我想知道他们是怎么做到的?
在我的特殊情况下,我有一个浮动操作按钮,用于将商品放入购物车.在用户按下按钮后,我想要为该按钮内的可绘制图标设置动画.动画应具有滑动效果,其中推车移出按钮的底部,并且复选标记从按钮的顶部移入.

我找到了一个ViewFlipper(http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html),但是我想保持按钮就位,只为图标设置动画在按钮内.
另一方面,我发现了AnimationDrawables(http://developer.android.com/reference/android/graphics/drawable/AnimationDrawable.html),但在那里,我必须手工创建每个帧,这也很奇怪.
实现这一目标的最佳方法是什么?
animation android floating-action-button android-5.0-lollipop
我需要一些帮助来弄清楚我的Snackbars(设计支持)有什么问题,而这些问题并未出现.
我有一个VideoView(FrameLayout包含一个动态创建的SurfaceView).
布局文件是:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="false"
android:id="@+id/coordinator"
android:background="@android:color/white"
tools:context="com.denisloh.typhoonCamera.MainActivity">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|start"
android:background="@drawable/toolbar_gradient"
android:theme="@style/AppTheme.AppBarOverlay"
app:popupTheme="@style/AppTheme.PopupOverlay">
<android.support.v7.widget.ActionMenuView
android:id="@+id/action_bar"
android:layout_height="wrap_content"
android:layout_width="wrap_content" />
</android.support.v7.widget.Toolbar>
</RelativeLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|end"
android:layout_margin="@dimen/fab_margin"
android:src="@drawable/ic_camera_white_24dp" />
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
我用这个片段创建并显示小吃吧:
...
mCoordinatorLayout = (CoordinatorLayout) findViewById(R.id.coordinator);
...
private void showWifiSettingsSnackBar(final String message) {
Snackbar.make(
mCoordinatorLayout,
getString(R.string.wifi_error_open_settings, message),
Snackbar.LENGTH_INDEFINITE)
.setAction(R.string.wifi_settings, new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
}
}) …Run Code Online (Sandbox Code Playgroud) 我正在写一个小工具,它将视频转换为原始的h264文件。这些文件应稍后通过SIP电话播放。我有以下代码:
eccx->pix_fmt = PIX_FMT_YUV420P;
eccx->width = VIDEO_FRAME_WIDTH;
eccx->height = VIDEO_FRAME_HEIGHT;
eccx->time_base.num = 1;
eccx->time_base.den = VIDEO_FRAMES_PER_SEC;
eccx->max_b_frames = 0;
eccx->rtp_payload_size = VIDEO_RTP_PAYLOAD_SIZE;
eccx->bit_rate = VIDEO_BIT_RATE;
eccx->rc_max_rate = VIDEO_BIT_RATE;
eccx->rc_buffer_size = VIDEO_BIT_RATE * 2;
eccx->flags |= CODEC_FLAG_QP_RD;
eccx->flags |= CODEC_FLAG_LOW_DELAY;
eccx->flags |= CODEC_FLAG_QSCALE;
eccx->flags |= CODEC_FLAG_EMU_EDGE;
eccx->mb_decision = FF_MB_DECISION_SIMPLE;
switch(video){
case H263:
break;
case H263P:
eccx->flags |= CODEC_FLAG_H263P_SLICE_STRUCT;
break;
case H264:
av_dict_set(&options, "vprofile", "baseline", 0);
eccx->flags2 = CODEC_FLAG2_FASTPSKIP;
eccx->profile = FF_PROFILE_H264_BASELINE;
eccx->level = 13;
break;
}
Run Code Online (Sandbox Code Playgroud)
执行此程序时,我从libx264得到以下输出:
[libx264 @ 0x10fad60] using …Run Code Online (Sandbox Code Playgroud) 嗨,我成功地构建了包括arm-v7a霓虹灯支持在内的ffmpeg库,但是当我尝试在棉花糖设备上运行这些库时,出现以下错误:
01-08 23:42:02.350: E/AndroidRuntime(10144): java.lang.UnsatisfiedLinkError:
dlopen failed: /data/app/com.example.demo-1/lib/arm/libffmpeg-neon.so: has text relocations
Run Code Online (Sandbox Code Playgroud)
当我使用非霓虹灯建筑时,它可以正常工作。
因此,我在Google上搜索了一下,发现这可能是相应C / C ++代码中的错误,但是另一方面,当使用NDK v。10e重建时,应该将其修复。这就是我所做的。但是我仍然得到这些文本重定位:
~/Projekte/AndroidFFmpeg$ /usr/Android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-readelf -a library/src/main/jniLibs/armeabi-v7a/libffmpeg-neon.so | grep TEXTREL
0x00000016 (TEXTREL) 0x0
0x0000001e (FLAGS) SYMBOLIC TEXTREL
Run Code Online (Sandbox Code Playgroud)
这个问题似乎很相关,但没有帮助:
我该如何解决?
我正在用TypeScript学习React,并在前端使用Material UI框架。我尝试使媒体查询正常工作,但出现错误:
Uncaught TypeError:无法读取样式未定义的属性“ up”(webpack-internal:///../app/components/navigation/Toolbar/index.tsx:59)
这是相应的代码:
const styles = ({breakpoints}: Theme) => createStyles( {
grow: {
flexGrow: 1
},
menuButton: {
marginLeft: -12,
marginRight: 20
},
sectionDesktop: {
display: 'none',
[breakpoints.up('md')]: {
display: 'flex'
}
},
sectionMobile: {
display: 'flex'
},
})
Run Code Online (Sandbox Code Playgroud)
样式通过以下方式传递给组件:
export default withStyles(styles)(Toolbar)
Run Code Online (Sandbox Code Playgroud)
我读到不需要创建自定义主题,因为默认主题将自动传递给函数。但是,主题的breakpoints属性未定义,导致出现空白页。
谢谢你的帮助
编辑
这是该组件的代码,如果没有其他任何组件,仍然会产生问题。
import * as React from 'react'
import {
Theme
} from '@material-ui/core'
import {
createStyles,
WithStyles,
withStyles
} from '@material-ui/styles'
// import Drawer from '../Drawer'
const styles = ({breakpoints}: Theme) …Run Code Online (Sandbox Code Playgroud) 我有以下问题:
void add(){
cRow Row();
Row.add("Column", "Value");
std::vector<cRow> mRows;
mRows.push_back(Row);
}
cRow::cRow(): mCol(NULL), mVal(NULL) {
}
cRow::add(const char* Col, const char* Val){
mCol = strdup(Col);
mVal = strdup(Val);
}
cRow::~cRow(){
free(mCol);
free(mVal);
}
Run Code Online (Sandbox Code Playgroud)
将局部变量Row添加到向量后,将为该行调用析构函数并释放字符串.
显然,现在也释放了向量中存储行的字符串的指针.离开本地范围后对行的任何访问都将导致段错误.
行的转储看起来像这样的2个调用:
| (null) | (null) |
-----------------------------------------------------
| (null)| (null) |
| LastContainerUpdatePropagation| 1307967498 |
------------------------ END ------------------------
Run Code Online (Sandbox Code Playgroud)
3次通话后:
| (null) | (null) |
-----------------------------------------------------
| (null)| (null) |
| (null)| (null) |
| LastSystemUpdatePropagation| 1307967498 |
------------------------ END ------------------------
Run Code Online (Sandbox Code Playgroud)
并且在完全离开范围而不添加新行之后,每一行都被释放.
那么,现在我的问题是:std:vector如何复制对象?我需要做些什么来保持指向字符串的指针或将它们复制到另一个空间?
非常感谢你!
我正在尝试创建一个对话框,在用户注销之前向用户显示倒计时。超时是从另一个活动设置的。
我写了以下代码:
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.content.DialogInterface;
import android.content.res.Resources;
import android.os.Bundle;
public class SessionInactivityDialog extends DialogFragment {
public void setInactivityTimeout(long timeout) {
Resources res = getActivity().getResources();
String text = String.format(res.getString(R.string.iminent_logout_text), (timeout / 1000));
((AlertDialog)getDialog()).setMessage(text);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.iminent_logout);
builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
SessionActivity activity = (SessionActivity)getActivity();
activity.resetTimer();
}
});
return builder.create();
}
}
Run Code Online (Sandbox Code Playgroud)
使用以下几行调用该对话框:
private void showIminentLogoutDialog(long timeout) {
mInactivityDialog.show(getFragmentManager(), …Run Code Online (Sandbox Code Playgroud) android nullpointerexception android-alertdialog dialogfragment
android ×7
c++ ×3
android-collapsingtoolbarlayout ×1
android-ndk ×1
animation ×1
cocoapods ×1
ffmpeg ×1
free ×1
google-maps ×1
header ×1
ios ×1
libav ×1
libavcodec ×1
libx264 ×1
material-ui ×1
neon ×1
pointers ×1
reactjs ×1
stdvector ×1
surfaceview ×1
typescript ×1
x264 ×1
xcode ×1