小编Cha*_*dru的帖子

使用Android ShapeDrawable以编程方式绘制圆

我的项目要求在运行时动态绘制一个圆.所以为了这个目的,我使用ShapeDrawable以编程方式创建圆,但不幸的是我在CircleShape的ShapeDrawable中找不到任何类或方法,而只是我找到了OvalShape().亲切地请帮我通过ShapeDrawable绘制一个圆圈,只需通过圆的直径或半径即可.提前致谢.任何类型的自定义对我来说都很有用,可以修复我的解决方案.

我用于ShapeDrawable的代码是

public static ShapeDrawable drawCircle (Context context, int width, int height, int color) {

        //////Drawing oval & Circle programmatically /////////////

        ShapeDrawable oval = new ShapeDrawable (new OvalShape ());
        oval.setIntrinsicHeight (height);
        oval.setIntrinsicWidth (width);
        oval.getPaint ().setColor (color);
        return oval;
    }
Run Code Online (Sandbox Code Playgroud)

使用的代码 MainActivity.java

if(Build.VERSION.SDK_INT >= 16) {
            txtCount.setBackground (Util.drawCircle (MainActivity.this, 50, 50, getResources ().getColor (R.color.yellow)));
            txtHotelCount.setText ("20");
        }else{
            txtCount.setBackgroundDrawable (Util.drawCircle (MainActivity.this, 50, 50, getResources ().getColor (R.color.yellow)));
            txtHotelCount.setText ("20");

        }
Run Code Online (Sandbox Code Playgroud)

在我的项目中用于TextView的 xml txtCount

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:background="@color/white">

        <TextView …
Run Code Online (Sandbox Code Playgroud)

android xml-drawable android-canvas shapedrawable android-drawable

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

复制粘贴在Mac上的Android Studio中无效

我正面临着Mac版Android Studio的一个奇怪问题(即,我无法复制(+ C)并粘贴(+ V)任何文本).我不知道为什么这样的表现很奇怪.我的问题可能很愚蠢,但自从我开始从WindowsMac工作以来,我一直面临着这个问题.任何解决方案和替代方案对我都有帮助.过去两天我完全陷入了这个问题.

macos android android-studio android-settings

8
推荐指数
1
解决办法
4559
查看次数

如何按升序顺序对ArrayList <Object>进行排序

我需要ArrayList<Object>根据名称按升序排序(自定义对象).为此我正在使用比较法

我的ArrayList:

ArrayList<Model> modelList = new ArrayList<Model>();

我正在使用的代码:

   Comparator<Model> comparator = new Comparator<Model>() {
            @Override
            public int compare(CarsModel lhs, CarsModel rhs) {

                String  left = lhs.getName();
                String right = rhs.getName();

                return left.compareTo(right);

            }
        };

   ArrayList<Model> sortedModel = Collections.sort(modelList,comparator);

//While I try to fetch the sorted ArrayList, I am getting error message 
Run Code Online (Sandbox Code Playgroud)

我完全陷入困境,真的不知道如何继续进行以获得排序列表ArrayList<Object>.请帮我解决一下这个.任何帮助和解决方案对我都有帮助.我发布了我的确切场景供您参考.提前致谢.

例:

ArrayList<Model> modelList = new ArrayList<Model>();
modelList.add(new Model("chandru"));
modelList.add(new Model("mani"));
modelList.add(new Model("vivek"));
modelList.add(new Model("david"));
Run Code Online (Sandbox Code Playgroud)

正常清单:

for(Model mod : modelList){
  Log.i("names", mod.getName());
}
Run Code Online (Sandbox Code Playgroud)

输出:

chandru …
Run Code Online (Sandbox Code Playgroud)

java sorting collections android arraylist

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

在Android工具栏中更改背面和清除图标的SearchView颜色

我想在SearchView崩溃时自定义后退和清除图标.我的要求是将颜色更改为白色,但现在是黑色.(请参阅下面分享的图像).我希望解决这个问题几天,但我尝试过的解决方案都没有解决.我尝试了几个从SO建议的解决方案,如下所示:

解决方案1:

<style name="AppTheme" parent="@style/Theme.Base.AppCompat.Light.DarkActionBar">
    <item name="actionBarWidgetTheme">@style/YourActionBarWidget</item>
</style>

<style name="YourActionBarWidget" parent="@style/Theme.AppCompat">
    <item name="searchViewCloseIcon">@drawable/xxx</item>
</style>
Run Code Online (Sandbox Code Playgroud)

解决方案2:

final Drawable upArrow = getResources().getDrawable(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
upArrow.setColorFilter(getResources().getColor(R.color.WHITE), PorterDuff.Mode.SRC_ATOP);
getSupportActionBar().setHomeAsUpIndicator(upArrow);  
Run Code Online (Sandbox Code Playgroud)

我的项目 styles.xml

<style name="ToolBarTheme" parent="@style/Theme.AppCompat.Light">
        <item name="colorPrimary">@color/blue</item>
        <item name="colorPrimaryDark">@color/blue</item>
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <item name="android:itemTextAppearance">@style/myCustomMenuTextApearance</item>
        <item name="android:actionMenuTextColor">@color/white</item>
        <item name="actionMenuTextColor">@color/white</item>

    </style>



<style name="DrawerArrowStyle" parent="Widget.AppCompat.DrawerArrowToggle">
        <item name="spinBars">true</item>
        <item name="color">@color/white</item>
        <item name="gapBetweenBars">2.5dip</item>
        <item name="thickness">2dp</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

我的确切问题的屏幕截图:

在此输入图像描述

请帮我解决我的问题.任何类型的解决方案和建议对我都有帮助.感谢您的支持.

android android-appcompat android-actionbar searchview android-toolbar

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

如何计算在Android项目中作为依赖项添加的库的大小

我正在一个项目中工作,我正在使用多个图书馆,如谷歌播放服务,翻新,gson,滑翔,推特和Facebook sdk.所以我想知道每个库的确切大小在我的应用程序中占用.请帮助我是否有任何可能的方法来分析Android工作室的大小.任何针对我的要求的工具建议或提示对我都非常有帮助.我发布了我在我使用的依赖项,build.gradle如下所示.

compile('com.twitter.sdk.android:twitter:1.9.0@aar') {
        transitive = true;
    }
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'org.twitter4j:twitter4j-core:4.0.2'
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.android.support:support-v4:23.2.0'
Run Code Online (Sandbox Code Playgroud)

注意:我正在分析此报告,以便通过删除占用大量内存的库来减少应用程序的apk大小.

在过去的几天里,我完全坚持这个解决方案.我甚至搜索了很多,我找不到优化的方法来计算我项目中库的确切大小用法.

请帮忙.提前致谢.

dependencies android memory-size android-build android-library

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

升级到AppCompat v22.1.0版本后,获取AppCompat不支持当前主题功能异常

以前我在我的项目中使用AppCompat和版本21.1.2,以便使用工具栏进行材料设计切换.但升级到AppCompat v22.1.0后,我的应用程序开始变得奇怪了.我甚至尝试了一些如下的解决方案

<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
Run Code Online (Sandbox Code Playgroud)

同时将父主题应用为

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
Run Code Online (Sandbox Code Playgroud)

但是上述解决方案都没有对我有帮助.亲切的,请帮助我提出您的提示和建议,以克服我目前面临的问题.我也发布了styles.xml和logcat错误供您参考.任何形式的帮助对我都有帮助.提前致谢.

styles.xml

 <style name="MainActivityTheme" parent="Theme.AppCompat.NoActionBar">
        <item name="colorPrimary">@color/white</item>
        <item name="colorPrimaryDark">#F2F2F2</item>
        <item name="android:windowNoTitle">true</item>
        <item name="windowNoTitle">true</item>
        <item name="windowActionBar">false</item>
        <item name="drawerArrowStyle">@style/DrawerArrowStyle</item>
        <item name="colorControlActivated">@color/yellow</item>
    </style>
Run Code Online (Sandbox Code Playgroud)

Logcat错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sample.app/com.sample.app.activities.MainActivity}: java.lang.IllegalArgumentException: AppCompat does not support the current theme features
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2413)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2471)
            at android.app.ActivityThread.access$900(ActivityThread.java:175)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1308)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:146)
            at android.app.ActivityThread.main(ActivityThread.java:5602)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
            at dalvik.system.NativeStart.main(Native Method)
     Caused by: java.lang.IllegalArgumentException: AppCompat does not support the …
Run Code Online (Sandbox Code Playgroud)

android android-appcompat android-theme android-styles material-design

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

Remoteview中的ViewFlipper showNext()和showPrevious()无法正常工作

我正在一个项目中工作,我需要在Notification栏的Remoteview中使用ViewFlipper视图.目前我正面临着showNext()和showPreview()的问题.但不幸的是,当我调用按钮时,不会调用showNext()和showPreview().我也发布了我的代码供您参考.如果我的问题不明确,请帮助我在哪里犯错误并纠正我.

 private Notification setCustomViewNotification() {

        // Creates an explicit intent for an ResultActivity to receive.
        Intent resultIntent = new Intent(this, ResultActivity.class);

        // This ensures that the back button follows the recommended convention for the back key.
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);

        // Adds the back stack for the Intent (but not the Intent itself)
        stackBuilder.addParentStack(ResultActivity.class);

        // Adds the Intent that starts the Activity to the top of the stack.
        stackBuilder.addNextIntent(resultIntent);
        PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

        // Create remote view and set …
Run Code Online (Sandbox Code Playgroud)

notifications android viewflipper android-appwidget android-remoteview

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

如何检查媒体投影API服务权限是否启用

我正在使用 Media Projection API 截取屏幕截图的应用程序。我能够成功获取用户前台屏幕的屏幕截图,但遗憾的是无法获取用户是否已提供屏幕捕获权限的状态。

要求:当用户未提供屏幕截图权限时,我只需要显示一次权限窗口。

当前行为:每次启动应用程序时显示权限窗口。请找到下面的屏幕截图

在此输入图像描述

我用来在 MainActivity 中显示权限窗口的代码:

MediaProjectionManager mgr = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);

                startActivityForResult(mgr.createScreenCaptureIntent(),
                        Constants.RESULT_CODE.SCREENSHOT);
Run Code Online (Sandbox Code Playgroud)

如果用户从权限窗口中选择“是”,我将启动一个服务,如下所示:

  @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {

        if (requestCode == Constants.RESULT_CODE.SCREENSHOT) {


            if (resultCode == RESULT_OK) {

                Intent intent = new Intent(this, WindowChangeDetectingService.class);
                intent.putExtra(Constants.INTENT_KEY.SCREENSHOT, resultCode);
                intent.putExtra(Constants.INTENT_KEY.SCREENSHOT_DATA, data);
                startService(intent);
                finish();
            }
        }

    }
Run Code Online (Sandbox Code Playgroud)

预期输出

我正在找出检查简单权限检查的解决方案,该检查在请求媒体投影服务权限窗口之前使用任何布尔检查来判断权限是否已提供,例如

if(isMediaPermissionAlreadyEnabled){

 MediaProjectionManager mgr = (MediaProjectionManager) getSystemService(MEDIA_PROJECTION_SERVICE);

                    startActivityForResult(mgr.createScreenCaptureIntent(),
                            Constants.RESULT_CODE.SCREENSHOT);

}
Run Code Online (Sandbox Code Playgroud)

自 3 天以来,我一直在努力寻找权限检查的解决方案,但我无法找到任何解决方法来解决我的用例。如果有人为我提供一些建议或提示来解决我的问题,那将非常有帮助。提前致谢。

permissions service android android-mediaprojection mediaprojectionmanager

5
推荐指数
0
解决办法
3989
查看次数

Facebook的朋友选择器SDK示例无法运行Android

请帮我用3.14 SDK从我的个人资料中获取Facebook好友.代码中没有错误,但问题是在我的个人资料中获取朋友时获得空列表.我在logcat中得到错误说
.

05-08 16:18:49.252: E/ActivityThread(25644): Failed to find provider info for com.facebook.orca.provider.PlatformProvider<br>
05-08 16:42:20.453: I/QCNEA(28696): |NIMS| getaddrinfo: hostname graph.facebook.com servname NULL numeric 4 appname <br>
05-08 16:51:32.482: D/Request(31861): Warning: Sessionless Request needs token but missing either application ID or client token<br>
Run Code Online (Sandbox Code Playgroud)

另外,我正在制作完整的代码供您参考

FriendPickerApplication.java*

package com.facebook.samples.friendpicker;

import android.app.Application;
import com.facebook.model.GraphUser;

import java.util.List;

    // We use a custom Application class to store our minimal state data (which users have been selected).
    // A real-world application will likely require a more robust …
Run Code Online (Sandbox Code Playgroud)

java sdk android facebook facebook-graph-api

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

毕加索图像加载以前缓存的图像

我在我的项目中使用picasso库将服务器中的url图像提取到我的ImageView中,但不幸的是毕加索从光盘加载以前缓存的图像而不是从url加载新图像.请找下面的代码供您参考.

Picasso.with (ImageActivity.this)
                    .load(url)
                    .placeholder (R.drawable.default_user)
                    .error (R.drawable.default_user)
                    .into(imgUser);
Run Code Online (Sandbox Code Playgroud)

我也尝试过以下解决方案:

Picasso.with(ImageActivity.this).invalidate(url);
Run Code Online (Sandbox Code Playgroud)

Picasso.with (ImageActivity.this)
                            .load(url).memoryPolicy(MemoryPolicy.NO_CACHE)
                            .placeholder (R.drawable.default_user)
                            .error (R.drawable.default_user)
                            .into(imgUser);
Run Code Online (Sandbox Code Playgroud)

但没有什么对我有用.请帮我解决我的问题.

提前致谢.

android image-caching image-loading imageview picasso

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