小编And*_*oob的帖子

改造:@GET命令中的多个查询参数?

我正在使用Retrofit和Robospice在我的Android应用程序中进行API调用.所有的@POST方法都很有用,所以@GET命令在URL中没有任何参数也是如此,但是我无法获得任何@GET调用来使用参数!

例如,如果我的API路径是"my/api/call /"并且我想在URL中使用2个参数"param1"和"param2",那么get调用将如下所示:

http://www.example.com/my/api/call?param1=value1m2=value2

所以我设置了我的@GET界面,如下所示:

@GET("/my/api/call?param1={p1}&param2={p2}")
Response getMyThing(@Path("p1")
String param1, @Path("p2")
String param2);
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,说
"请求网络执行期间发生异常:URL查询字符串" /my/api/call?param1={p1}&param2={p2}"方法getMyThing可能没有替换块."

我究竟做错了什么?

api android get robospice retrofit

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

ActionBarSherlock - 使用自定义视图显示在ABOVE操作栏上的选项卡

我试图创建一个没有应用程序徽标/文本的动作栏,并且使用集中的图片,我知道可以使用自定义视图,这是我的代码:

protected void initActionBar()
{
    RelativeLayout custom = new RelativeLayout(getApplicationContext());
    ActionBar.LayoutParams params = new ActionBar.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
    custom.setLayoutParams(params); 

    custom.setGravity(Gravity.CENTER);
    custom.setBackgroundDrawable(getResources().getDrawable(R.drawable.background_grad_grey_rounded));

    ImageView image =new ImageView(getApplicationContext());
    image.setBackgroundResource(R.drawable.ic_launcher); 
    custom.addView(image);

    ab = getSupportActionBar();


    ab.setDisplayShowCustomEnabled(true);
    ab.setCustomView(custom);
    ab.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
    tab_connect = ab.newTab();
    tab_connect.setText("CONNECT");
    tab_connect.setTabListener(this);

    tab_discover = ab.newTab();
    tab_discover.setText("DISCOVER");
    tab_discover.setTabListener(this);

    tab_simplify= ab.newTab();
    tab_simplify.setText("SIMPLIFY");
    tab_simplify.setTabListener(this);

    ab.addTab(tab_simplify);
    ab.addTab(tab_discover);
    ab.addTab(tab_connect);

    ab.setDisplayShowTitleEnabled(false);
    ab.setDisplayShowHomeEnabled(false);

}
Run Code Online (Sandbox Code Playgroud)

但是,当我隐藏徽标时,操作栏会移动到我的标签下方,如下所示:

屏幕截图

但如果我设置了ab.setDisplayShowHomeEnabled(true),则操作栏会出现在它的正确位置(但带有我不想要的徽标):

在此输入图像描述

我究竟做错了什么?

tabs android actionbarsherlock android-actionbar

20
推荐指数
3
解决办法
8843
查看次数

Android zxing - 人像摄像头预览/ surfaceview拉伸/扭曲

我已设法使用此处的答案将相机预览旋转为肖像:http: //code.google.com/p/zxing/issues/detail?id = 178#c46

然而,预览本身是拉伸/扭曲的 - 高度似乎是拉伸以填充框(但可能是宽度对于屏幕太大而且它被压扁以适应)

有没有办法"包装"内容而不是让它拉伸以适应表面视图?

编辑:我通过改变'CameraConfigurationManager'中的'findBestPreviewSizeValue'方法并反转X和Y点(对于下面指针的sean owen!)进行排序,这里是代码:

private static Point findBestPreviewSizeValue(CharSequence previewSizeValueString,
  Point screenResolution) {
int bestX = 0;
int bestY = 0;
int diff = Integer.MAX_VALUE;
for (String previewSize : COMMA_PATTERN.split(previewSizeValueString)) {

  previewSize = previewSize.trim();
  int dimPosition = previewSize.indexOf('x');
  if (dimPosition < 0) {
    Log.w(TAG, "Bad preview-size: " + previewSize);
    continue;
  }

  int newX;
  int newY;
  try {
    newY = Integer.parseInt(previewSize.substring(0, dimPosition));
    newX = Integer.parseInt(previewSize.substring(dimPosition + 1));
    //original:
    //newX = Integer.parseInt(previewSize.substring(0, dimPosition));
    //newY = …
Run Code Online (Sandbox Code Playgroud)

android portrait stretching surfaceview zxing

17
推荐指数
1
解决办法
7878
查看次数

重绘/刷新Itemizedoverlay?(android/google maps api)

我正在使用谷歌地图API制作GPS追踪器,并使用ItemizedOverylay在地图上显示用户的当前位置.由于用户位置定期更改,我设置了一个CountDownTimer来删除当前的Itemizedoverlay并在每5秒在新位置添加一个新的(无法更改itemizedOverlay的位置)但是屏幕没有绘制新的职位,除非我身体触摸屏幕!这是我的逐项覆盖的代码:

import java.util.ArrayList;
import java.util.List;

import android.app.AlertDialog;
import android.content.Context;
import android.graphics.drawable.Drawable;
import android.widget.Toast;

import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.OverlayItem;

public class HelloItemizedOverlay extends ItemizedOverlay{
private ArrayList<OverlayItem> mOverlays = new ArrayList<OverlayItem>();
Context mContext;

public HelloItemizedOverlay(Drawable defaultMarker) {
    /*This passes the defaultMarker up to the default constructor 
     * to bound its coordinates and then initialize mContext with the given Context.*/
    super(boundCenterBottom(defaultMarker));
}
public HelloItemizedOverlay(Drawable defaultMarker, Context context) {
    /*This passes the defaultMarker up to the default constructor 
     * to bound its coordinates and then …
Run Code Online (Sandbox Code Playgroud)

android google-maps itemizedoverlay

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

Android - 对话框后面的VideoView MediaController出现在对话框后面

我有一个VideoView自定义对话框,我正在为动态创建一个媒体控制器VideoView并将其分配给VideoView代码,但是控制器实际上并没有显示在视频上 - 它出现在对话框后面!知道如何将控制器置于视频之上吗?

我创建了一个静态对话框助手类来帮助构建自定义对话框:

public class DialogHelper {

    public static Dialog getVideoDialog(Context context, Uri videoLocation, boolean autoplay) {
        final Dialog dialog = getBaseDialog(context,true, R.layout.dialog_video);

        ((Activity)context).getWindow().setFormat(PixelFormat.TRANSLUCENT);
        final VideoView videoHolder = (VideoView) dialog.findViewById(R.id.video_view);
        videoHolder.setVideoURI(videoLocation);
        //videoHolder.setRotation(90);
        MediaController mediaController =  new MediaController(context);
        videoHolder.setMediaController(mediaController);
        mediaController.setAnchorView(videoHolder);
        videoHolder.requestFocus();
        if(autoplay) {
            videoHolder.start();
        }
        videoHolder.setOnCompletionListener(new OnCompletionListener() {

            @Override
            public void onCompletion(MediaPlayer mp) {
                dialog.dismiss();

            }
        });
        return dialog;
    }


    /**
     * Creates a simple dialog box with as many buttons as you want …
Run Code Online (Sandbox Code Playgroud)

android dialog mediacontroller android-videoview

11
推荐指数
2
解决办法
4663
查看次数

将原生页脚视图添加到webview

我有一个WebView和我想要在其下添加的本机自定义视图WebView.我已经尝试将WebView内部包裹起来ScrollView,虽然这完全符合我的要求,但滚动性能确实很滞后,如果用户甩动滚动点击屏幕并不会像它应该那样停止投掷.

我想到的另一种方法是将顶部的页脚视图充气WebView到包装器中,然后以某种方式延伸高度以适应页脚大小,将页脚视图推到s高度的末端,然后监视卷轴的滚动在与它移到页脚.FrameLayoutWebViewWebViewWebViewWebView

我已经设置了基类,我的问题是扩展可滚动内容WebView,然后将页脚推到WebViews内容的底部; 主要问题WebView是不是典型的android视图和页面内容异步加载(因此内容大小更改).

如何扩展一个可滚动的内容WebView?如何在WebView内容下面设置原生页脚?

编辑:

我实际上并没有使用xml,视图是用这样的代码构造的:

public class WebViewWithFooter extends FrameLayout {

private ObservableWebView mWebView;//webview with scroll methods overridden for access
private FrameLayout mFooterContainer;

public WebViewWithFooter(Context context) {
    super(context);
    init();
}


public WebViewWithFooter(Context context, AttributeSet attrs) {
    super(context, attrs);
    init();
}


public WebViewWithFooter(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init();
} …
Run Code Online (Sandbox Code Playgroud)

android scroll footer webview measure

9
推荐指数
1
解决办法
2212
查看次数

我的Android应用程序没有显示在应用程序抽屉中?

我已经制作了一个短信应用程序,但是当它安装时,它不会出现在应用程序抽屉上(从主屏幕启动应用程序的位)!我可以确认它实际安装是因为我可以从其他程序的意图启动它,图标/名称甚至出现在设置下的"管理应用程序"中!一旦启动整个应用程序功能应该(我甚至可以选择使用它作为默认发送短信!)所以我不认为它与我的java文件有任何关系,我感觉它与我的有关android清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.pearson.sms"
  android:versionCode="1"
  android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.SEND_SMS">
</uses-permission>
<uses-permission android:name="android.permission.RECEIVE_SMS">
</uses-permission>
<uses-permission android:name="android.permission.READ_SMS">
</uses-permission>
<uses-permission android:name="android.permission.WRITE_SMS">
</uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".DisplaySMSRecieved"
          android:label="@string/app_name">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
        <data android:scheme="sms" /> 
    </intent-filter>
    <intent-filter>
            <action android:name="com.pearson.sms.LAUNCH" />  
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</activity>
<receiver android:name=".PearsonSMSReciever"> 
    <intent-filter> 
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="sms" /> 
    </intent-filter> 
</receiver>
<activity android:name=".PearsonSMS"
          android:label="@string/send_sms">
          <intent-filter>
        <action android:name="android.intent.action.SENDTO" />
        <action android:name="android.intent.action.VIEW" />  
        <category android:name="android.intent.category.DEFAULT" /> …
Run Code Online (Sandbox Code Playgroud)

android android-manifest

7
推荐指数
2
解决办法
4693
查看次数

即使尺寸与屏幕匹配,WallpaperManager也会缩放图像

我有一个应用程序将壁纸应用到主屏幕上,其图像与屏幕尺寸相匹配,但是在我应用它时,壁纸会放大,即使使用的图像与屏幕尺寸完全匹配!它是静态图像,在主屏幕上切换页面时甚至不滚动.奇怪的是,如果我使用内置图库应用图像,壁纸将在没有缩放的情况下正常应用(它会显示"裁剪图像"屏幕,但裁剪区域本身与图像的边缘匹配)

我使用的代码适用于整个手机阵列(星系注释,ace 2,s2等),但不适用于s3; 我想知道是否有什么可以强迫壁纸正确填满屏幕?我用来应用壁纸的当前代码是:

WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);   
wallpaperManager.setWallpaperOffsets(wallpaperViewer.getApplicationWindowToken(), 0, 0);
wallpaperManager.setBitmap(BitmapFactory.decodeFile(file.getPath()));//file is jpg on sd card
Run Code Online (Sandbox Code Playgroud)

android wallpaper homescreen

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

Android TextView:有没有办法用短文强制选框动画?

我有一个带有一些文本的TextView,我想让它用滚动的选框动画制作动画.我看到了关于强制选框动画的这个流行问题,但是答案中的代码只有在文本足够长以超出TextView的边界(因此文本被截断)时才起作用,我正在寻找永久性的解决方案无论文本的宽度如何,都要使文本具有此选取框动画; 这可能吗?

animation android marquee textview

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

AndEngine Sprite/Box2D Body删除崩溃我的程序没有错误/异常信息?

我正在制作一个滑板游戏,你必须使用box2D和AndEngine跳过障碍物.我试图这样做,以便当玩家与一个物体碰撞时,物体被移除并且物体旧位置会发生爆炸,但是精灵移除代码中的某些内容会冻结我的程序导致它结束(甚至不是强制关闭消息它只是关闭自己并进入我的主屏幕)并且没有错误/异常信息出现在logcat中所以我不知道是什么导致它!以下是一些代码片段 -

当我创建精灵/边界时,我将JSONObject附加到包含精灵和精灵类型的主体,并将类似的JSONOBject附加到具有正文和类型的精灵:

/** method to construct our player (takes an x and y position)*/
private void constructPlayer(final float pX, final float pY) {


    final Body body;


    /* construct the sprite of our player and set the animation */
    this.player = new AnimatedSprite(pX, pY, this.mSkaterTextureRegion);
    long[] frameDurations = {100, 100};
    player.animate(frameDurations, 4, 5, true);


    body = PhysicsFactory.createBoxBody(this.mPhysicsWorld, player, BodyType.DynamicBody, PLAYER_FIXTURE_DEF);
    this.mPhysicsWorld.registerPhysicsConnector(new PhysicsConnector(player, body, true, false));
    body.setUserData(makeUserDataForBody(PLAYER_TYPE,player));
    player.setUserData(makeUserDataForSprite(PLAYER_TYPE,body));
    this.mScene.registerTouchArea(player);

    //attach our player to the scene
    this.mScene.attachChild(player);
}

private JSONObject makeUserDataForBody(int type, …
Run Code Online (Sandbox Code Playgroud)

android sprite box2d andengine

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

如何绘制/渲染Bullet Physics碰撞体/形状?

我已经使用NDK将Bullet Physics引擎实现到我的android程序中(我使用的是Vuforia的 imagetarget示例,用于android),它已经设置并正常工作,但是我想渲染/绘制我的碰撞盒/飞机来查看我的刚体(btRigidBody)/碰撞形状(btCollisionShape),我很肯定这是可能的,但我找不到任何关于如何做的教程!

我已经在他们的wiki页面上接受了hello world Bullet物理教程并修改它以应用从坠落物理体到我在opengl es 2.0中查看碰撞体的3d对象的转换,这里是我用来渲染的代码反对:

void drawRigidBody(btRigidBody* body,QCAR::Matrix44F modelViewMatrix, unsigned int textureID)
{
btTransform trans;
body->getMotionState()->getWorldTransform(trans);
    LOG("sphere pos: (x %f , y %f, z %f)",trans.getOrigin().getX(),trans.getOrigin().getY(),trans.getOrigin().getZ());


    float physicsMatrix[16];
    trans.getOpenGLMatrix(physicsMatrix);

    SampleUtils::scalePoseMatrix(kObjectScale, kObjectScale, kObjectScale,
            &modelViewMatrix.data[0]);

    QCAR::Matrix44F modelViewProjection, objectMatrix;
    SampleUtils::multiplyMatrix(&modelViewMatrix.data[0], physicsMatrix, &objectMatrix.data[0]);
    SampleUtils::multiplyMatrix(&projectionMatrix.data[0], &objectMatrix.data[0], &modelViewProjection.data[0]);



    glVertexAttribPointer(vertexHandle, 3, GL_FLOAT, GL_FALSE, 0,
            (const GLvoid*) &signVerts[0]);
    glVertexAttribPointer(normalHandle, 3, GL_FLOAT, GL_FALSE, 0,
            (const GLvoid*) &signNormals[0]);
    glVertexAttribPointer(textureCoordHandle, 2, GL_FLOAT, GL_FALSE, 0,
            (const GLvoid*) &signTexCoords[0]);

    glEnableVertexAttribArray(vertexHandle);
    glEnableVertexAttribArray(normalHandle);
    glEnableVertexAttribArray(textureCoordHandle);

    glActiveTexture(GL_TEXTURE0);
    glBindTexture(GL_TEXTURE_2D, textureID);
    glUniformMatrix4fv(mvpMatrixHandle, …
Run Code Online (Sandbox Code Playgroud)

c++ android android-ndk bulletphysics opengl-es-2.0

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

Android TransitionDrawable:图片缩放类型在片段恢复时发生变化

我有一个ImageView设置为片段的背景(imageview在宽度和高度上都设置为match_parent),scaletype设置为centerCrop.我下载了一个异步放入的图像,并在完成下载后使用TransitionDrawable进行交叉淡入淡出.

第一次使用正确的缩放类型显示图像,但是如果我导航到另一个片段然后以imageview作为背景返回到此片段,则图像显示为变形/拉伸(看起来像imageView设置为fitXY)

如果我不使用TransitionDrawable,图像会保持原样.

是否有一个可保持正确宽高比的TransitionDrawable等效项?或者我是否需要在TransitionDrawable上设置以防止此大小调整?

我真正想做的就是在图像之间进行很好的转换.我想只要将图像设置为TransitionDrawable的第二层drawable一旦完成动画,但是没有办法监视动画何时完成...

编辑:我以为我会提到图像尺寸不一样,不确定这是否有所不同

编辑2:这是设置drawable的代码:

  //code above to download image
 BitmapDrawable bitmapDrawable = new BitmapDrawable(imageview.getResources(), bitmap);
        TransitionDrawable transitionDrawable = new TransitionDrawable(new Drawable[]{imageview.getDrawable(), bitmapDrawable});
        imageview.setImageDrawable(transitionDrawable);
        transitionDrawable.startTransition(300);
Run Code Online (Sandbox Code Playgroud)

animation android android-fragments transitiondrawable

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

Retrofit/Robospice:从成功请求中获取响应头?

我正在使用Retrofit/Robospice在我构建的应用程序中使用RetrofitGsonSpiceService进行api调用.使用GSON转换器将所有响应转换为POJO,但是我需要从响应头中检索一些信息.我找不到任何获取标题的方法(如果请求不成功,我只能获取标题,因为原始响应是在错误对象中发送的!)如何在转换之前拦截响应以获取标题?

android robospice retrofit

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