小编Luc*_*ano的帖子

在onProgressChanged上更改搜索条的颜色

我有自定义搜索栏,我可以通过设置一个新的进度drawable来改变onProgressChanged中的颜色:

seek.setProgressDrawable(res.getDrawable(R.drawable.seekbar_bg1));
Run Code Online (Sandbox Code Playgroud)

但是我想要一个具有从绿色到红色的纯色的搜索栏,具体取决于进度.有没有办法使用像渐变颜色这样的东西,所以我不需要创建这样的100个drawables?

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

 <item android:id="@android:id/background">
  <shape>
    <solid android:color="@android:color/transparent" />
  </shape>
</item>

<item android:id="@+id/progressshape">
<clip>
  <shape>
    <solid android:color="@color/custom_yellow" />
  </shape>
</clip>
</item>

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

对于那些对解决方案感兴趣的人.我使用以下代码:

这个方法来设置颜色:

public void setProgressBarColor(int newColor){ 
  LayerDrawable ld = (LayerDrawable) getProgressDrawable();
  ClipDrawable d1 = (ClipDrawable) ld.findDrawableByLayerId(R.id.progressshape);
  d1.setColorFilter(newColor, PorterDuff.Mode.SRC_IN);
}
Run Code Online (Sandbox Code Playgroud)

并在onProgressChanged:

 if(progress <= 50){
                seek.setProgressBarColor(Color.rgb( 255 - (255/100 * (100 - progress*2)), 255, 0));
 }else{
                seek.setProgressBarColor(Color.rgb( 255, 255 - (255/100 * (progress - 50)*2), 0));
 }
Run Code Online (Sandbox Code Playgroud)

android colors seekbar

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

使用Graphview库的日期

我正在使用GraphView库(参见:https://github.com/jjoe64/GraphViewhttp://www.jjoe64.com/p/graphview-library.html)

但我想使用日期/时间作为X-as.有谁知道一个简单的方法来完成这个或任何人都可以推动我朝着正确的方向?

charts datetime android android-graphview

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

PayPal MECL交易问题

我正在尝试设置inapp paypall MECL交易.

但它一直无法获取设备令牌(couldNotFetchDeviceReferenceToken)

在初始化库时,我得到了按钮,但是当我在按钮上多次单击时,onClickListeneren只获得第一次点击(而在onClick中没有做任何事情).

获取以下错误:

12-19 16:59:41.731: ERROR/Error(4745): Authentication failed, button not enabled.
12-19 16:59:41.739: ERROR/paypal(4745): FAIL receiving Token
12-19 17:00:06.544: ERROR/PP Init(4745): INITIALIZE_FAILURE
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?

这里有一些来源:

    // The PayPal server to be used - can also be ENV_NONE and ENV_LIVE
private static final int server = PayPal.ENV_SANDBOX;
// The ID of your application that you received from PayPal
private static final String appID = "APP-.....xxxxxxx"; 

Handler hRefresh = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        switch(msg.what){
            case INITIALIZE_SUCCESS: …
Run Code Online (Sandbox Code Playgroud)

android paypal paypal-sandbox

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

使用jetpack导航过渡的模态动画

你怎么能创建模态过渡动画?

我正在使用jetpack导航图,您可以在其中绑定过渡动画.但默认行为看起来很奇怪.让我解释一下原因.

如果绑定没有退出动画的输入动画.您的退出片段将在动画开始时消失.哪个看起来不太好看.

所以我决定创建一个具有相同输入动画持续时间的退出动画,它什么都不做.但是现在输入片段将在退出片段的顶部滑动但在退出片段的工具栏下面(每个片段包含一个工具栏).

有没有办法为jetpack过渡创建一个漂亮的模态动画?

这是我的幻灯片动画..

<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/decelerate_interpolator"
android:fillAfter="true">
<translate
    android:duration="@android:integer/config_mediumAnimTime"
    android:fromYDelta="100%"
    android:toYDelta="0%">
</translate>
</set>
Run Code Online (Sandbox Code Playgroud)

android android-animation android-jetpack android-architecture-navigation

7
推荐指数
0
解决办法
433
查看次数

如何在Xamarin UI测试中触发Android LongClick

我有一个带有ActionMode的RecyclerView,可以通过长按RecyclerView项来激活它.

如何使用Xamarin UI测试在Android中触发长按?AndroidApp包含一个方法TouchAndHold(Func查询)但这个似乎不会触发长按.

这里有人有解决方案吗?

我的代码:

   Func<AppQuery, AppQuery> test = c => c.Marked("Test");
   app.WaitForElement (test);
   app.TouchAndHold (test);
Run Code Online (Sandbox Code Playgroud)

nunit ui-testing long-click xamarin.android xamarin

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

如何更新 PagedListAdapter 中的单个项目

我已经使用 ItemKeyedDataSource 实现了新的 PagedListAdapter。我的列表包含带有“赞”按钮的提要项目。单击“赞”按钮应刷新该项目。

要在单击 Like 按钮时刷新我的列表项,我会更新 Firestore 后端中的状态,并在 ItemKeyedDataSource 上调用 invalidate。但这将刷新我的整个列表,同时跳回列表顶部。

我不确定这是否是正常行为,所以我去调试并检查我的 DiffUtil.ItemCallback 是否是问题所在。但这两个方法(areItemsTheSame 和 areContentsTheSame)永远不会被调用。

那么,在 DataSource 上调用 invalidate 是触发单个项目更新的方法吗?DiffUtil 会帮助我在更新后跟踪我在列表中的位置,还是我看错了方向?

android android-recyclerview android-jetpack android-pagedlistview

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

我第一次在GridView中拖放时丢失了ImageView

我做了一个拖放GridView.除了第一次拖放外,一切都很完美.我无法找到它第一次发生的原因.

第一次将项目拖动到gridview中的其他项目时,项目的imageview源将丢失.当我放弃它时,源将被修复.之后,每件事都会正常工作.任何想法我如何解决这个或奇怪的行为的原因.欢迎各方面的帮助.

这是我的touchListener将处理拖放:

mGridView.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                GridView parent = (GridView) v;

                int x = (int) event.getX();
                int y = (int) event.getY();

                int position = parent.pointToPosition(x, y);
                if (position > AdapterView.INVALID_POSITION) {

                    int count = parent.getChildCount();
                    for (int i = 0; i < count; i++) {
                        View curr = parent.getChildAt(i);
                        curr.setOnDragListener(new View.OnDragListener() {

                            @Override
                            public boolean onDrag(View v, DragEvent event) {

                                boolean result = true;
                                int action = …
Run Code Online (Sandbox Code Playgroud)

android gridview drag-and-drop

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

播放Android设备的音频槽手机扬声器

是否可以通过Android设备的手机扬声器播放音频?手机内部较小的扬声器产生低音量的声音,只有在您的耳朵紧贴电话时才能听到.

希望我的描述足够清楚,以便理解我的问题.

如果可能,一个如何实现这一点的例子将非常有帮助.

编辑 目前我正在使用以下代码初始化我的MediaPlayer.

 mediaPlayer = new MediaPlayer();
 mediaPlayer.setOnBufferingUpdateListener(this); 
 mediaPlayer.setOnCompletionListener(this);
 mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
 mediaPlayer.setDataSource(audioPath);
 mediaPlayer.prepare();
Run Code Online (Sandbox Code Playgroud)

audio android speaker

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

为什么我的关闭活动动画在 Android 4.0 (ICS) 上不起作用

我用自定义动画(向上和向下滑动)制作了一个主题。动画在较旧的 android 版本上运行良好。但是,当我在 Android 4.0 (ICS) 上尝试时,关闭动画不起作用。只有上滑动画在 ICS 上运行良好。

这是我用于动画的主题:

<style name="myTheme" parent="android:Theme.Black">
    <item name="android:windowTitleSize">45dip</item>
    <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    <item name="android:windowAnimationStyle">@style/myTheme.Window</item>
</style>

<style name="myTheme.Window" parent="@android:style/Animation.Activity">
    <item name="android:activityOpenEnterAnimation">@anim/push_up_in_no_alpha</item>
    <item name="android:activityOpenExitAnimation">@anim/no_anim</item>
    <item name="android:activityCloseEnterAnimation">@anim/no_anim</item>
    <item name="android:activityCloseExitAnimation">@anim/push_down_out_no_alpha</item>
</style>
Run Code Online (Sandbox Code Playgroud)

这是push_down_out_no_alpha.xml

<set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate android:fromYDelta="0" android:toYDelta="100%p"
        android:duration="@android:integer/config_longAnimTime"/>
</set>
Run Code Online (Sandbox Code Playgroud)

当我在代码中设置动画时,它在 ICS 上也能正常工作,但为什么不作为主题呢?

 this.overridePendingTransition(R.anim.no_anim,R.anim.push_down_out_no_alpha);
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么它不能在 Android 4.0 (ICS) 上运行?

animation android themes android-4.0-ice-cream-sandwich

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

将Android Cursor转换为数组的ArrayList

我尝试将我的Cursor数据转换为arraylist.但最后,arraylist中的所有数据都被最后一行所覆盖.我做错了什么?

Cursor c = myDbHelper.getLvl1Cata();
        String[] data = new String[3];
        c.moveToFirst();
        while(!c.isAfterLast()) {
                data[0] = Integer.toString(c.getInt(0));
                data[1] = c.getString(1);
                data[2] = Integer.toString(c.getInt(2));
                Log.e("cc", data[1]);
                catalogueData.add(data);
                c.moveToNext();
        }   
Run Code Online (Sandbox Code Playgroud)

android arraylist cursor

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