小编New*_*per的帖子

如何在Android中将编辑过的画布保存为图像作为原始图像大小

我试图在图像上绘制并保存图像.现在我可以成功地在图像上绘制.但我面临两个问题.当我在图像上绘制时,它也允许绘制出图像的一面.我只想在图像上画画.第二个问题是当我保存它被触发的图像时.我想将图像保存为原始大小.请帮我解决我的问题.

在这里,我发布我的整个代码.

    public class DrawingPaint extends View implements View.OnTouchListener {

    private Canvas mCanvas;
    private Path mPath;
    private Paint mPaint, mBitmapPaint;
    public ArrayList<PathPoints> paths = new ArrayList<PathPoints>();
    private ArrayList<PathPoints> undonePaths = new ArrayList<PathPoints>();
    private Bitmap mBitmap;
    private int color;
    private int x, y;
    private String textToDraw = null;
    private boolean isTextModeOn = false;
    int lastColor = 0xFFFF0000;
    static final float STROKE_WIDTH = 15f;

    public DrawingPaint(Context context/*, int color*/) {
        super(context);
        //this.color = color;
        setFocusable(true);
        setFocusableInTouchMode(true);

        this.setOnTouchListener(this);

        mBitmapPaint = new Paint(Paint.DITHER_FLAG);
        /*mPaint …
Run Code Online (Sandbox Code Playgroud)

android canvas image

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

如何检查JobService是否在android中运行?

我在我的项目中使用JobService.它运作良好.但有时服务停止了.它不会再次重启.因此,如果没有运行,我正试图策划JobService.但我不知道如何检查JobService是否已经运行.请让我知道如何检查JobService是否正在运行.

我的职业服务班:

@RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
public class JobService extends android.app.job.JobService {
    @Override
    public boolean onStartJob(JobParameters params) {
        if (NetworkHandler.getInstance().isNetworkAvailable()) {
            TaskHandler.getInstance().getTaskListFromServer(PreferenceManagerForPlannedRoute.getInstance().getLastSyncTime(), PreferenceManagerForPlannedRoute.getInstance().getInProgressMoveTask());
            NotificationUtils.getInstance().CreateNotification();
            Logger.d("Scheduler", "Working!!");
        } else {
            Logger.d("Network", "not available");
        }
        return false;
    }


    @Override
    public boolean onStopJob(JobParameters params) {
        Logger.d("onStopJob", "Stopped");
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的Util类:

public class JobSchedulerUtils {

    @RequiresApi(api = Build.VERSION_CODES.LOLLIPOP)
    public static void scheduleJob(Context context) {
        ComponentName serviceComponent = new ComponentName(context, JobService.class);
        JobInfo.Builder builder = new JobInfo.Builder(0, serviceComponent);
        builder.setRequiresDeviceIdle(false);
        builder.setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY);
        builder.setPeriodic(5000);
        builder.setPersisted(true);           
        JobScheduler jobScheduler = …
Run Code Online (Sandbox Code Playgroud)

java android android-jobscheduler jobservice

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

如何在android中以编程方式增加铃声和通知量

我正在尝试启用振铃器正常模式并以编程方式增加音量.

AudioManager mobilemode = (AudioManager)mContext.getSystemService(Context.AUDIO_SERVICE);
//   int streamMaxVolume = mobilemode.getStreamMaxVolume(AudioManager.STREAM_RING);
switch (mobilemode.getRingerMode()) {
    case AudioManager.RINGER_MODE_SILENT:
        Log.i("MyApp","Silent mode");

        mobilemode.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
        mobilemode.setStreamVolume (AudioManager.STREAM_MUSIC,mobilemode.getStreamMaxVolume(AudioManager.STREAM_MUSIC),0);
        break;
    case AudioManager.RINGER_MODE_VIBRATE:
        Log.i("MyApp","Vibrate mode");                     
        mobilemode.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
        mobilemode.setStreamVolume (AudioManager.STREAM_MUSIC,mobilemode.getStreamMaxVolume(AudioManager.STREAM_MUSIC),0);
        break;
    case AudioManager.RINGER_MODE_NORMAL:
        Log.i("MyApp","Normal mode");
        break;
}
Run Code Online (Sandbox Code Playgroud)

但它启用正常模式.但我不能增加音量.

在此输入图像描述

请允许我以任何方式以编程方式增加音量..

android volume android-notifications android-audiomanager

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

是否可以在Activity类中测试方法?

每个人都建议遵循MVP或MVVM模式以保持代码的可读性和可测试性。现在我有疑问。现在,我正在学习单元测试,并以一种正式的方式编写代码。不使用任何模式。现在我的问题是,我可以像下面那样测试我的代码吗?

我的主要活动:

public class MainActivity extends AppCompatActivity {

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

    public boolean testMethod(int value){
       return value== 5?true:false;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的单元测试课:

@RunWith(MockitoJUnitRunner.class)
public class ExampleUnitTest {
 MainActivity mainActivity = new MainActivity();
@Test
    public void testMethod(){
        boolean result = mainActivity.testMethod(5);
        assertEquals(true,result);
    }
}
Run Code Online (Sandbox Code Playgroud)

在运行测试时,我没有收到任何错误或问题。那么这是正确的测试方法吗?还是如果我遵循这种方法会发生什么?我也开始将代码迁移到MVP模式,但是我想清除我的疑问。请让我知道为什么我不遵循单元测试的正式编码的原因。

junit android unit-testing android-testing

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

如何更改 Windows Phone 7 中进度指示器的颜色

我想更改进度指示器的颜色。默认颜色为红色。如果我想将颜色更改为蓝色意味着我必须做什么。我找不到指示器颜色的任何属性。是否可以更改颜色?

<Grid Background="#7F000000" x:Name="ProgressGrid" Visibility="{Binding Path=IsVisible}">
            <TextBlock HorizontalAlignment="Center" Margin="10,500,0,0" Height="100" Text="{Binding Path=AppResources.Label558, Source={StaticResource LocalizedStrings}}" FontSize="28" FontWeight="Bold" />
            <ProgressBar IsIndeterminate="True" Width="383" Margin="0,500,0,0" />
        </Grid>
Run Code Online (Sandbox Code Playgroud)

请让我知道任何想法..

xaml windows-phone-7 progress-bar

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

在键入时将"编辑"文本中的每个单词大写

我想在打字时将编辑文本中的每个单词标题化.

我的XML: -

<com.project.edittext.AutoFitEditText
                android:id="@+id/txt_name"
                style="@style/scan_text_fields_white_bg"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:digits="@string/validation_accept_all_except_special_char"
                android:fontFamily="sans-serif"
                android:imeOptions="flagNoExtractUi|actionDone"
                android:inputType="textNoSuggestions|textCapWords"
                android:maxLength="50"
                android:paddingBottom="3dp"
                android:paddingLeft="12dp"
                android:paddingRight="0dp"
                android:paddingTop="0dp"
                android:singleLine="true"
                android:textColor="@color/orange"
                />
Run Code Online (Sandbox Code Playgroud)

现在我正在使用

mName.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS);
Run Code Online (Sandbox Code Playgroud)

但问题是它在某些设备中不起作用.前LG平板电脑.所以我决定以编程方式执行此操作.

所以我使用以下代码.

public void onTextChanged(CharSequence s, int start, int before, int count) {
                // TODO Auto-generated method stub                   
                String mNameStr=s.toString();
                String finalStr="";
                if(!mNameStr.equals("")) {
                    String[] strArray = mNameStr.split("[\\s']");
                    if (strArray.length > 0) {
                        for (int i = 0; i < strArray.length; i++) {
                            finalStr+=capitalize(strArray[i]);
                        }
                        Logger.d("finalStr==> ", finalStr);
                    }
                }
                mName.setText(finalStr.toString());
            }



private String capitalize(final String …
Run Code Online (Sandbox Code Playgroud)

java android android-edittext

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

如何测试自定义视图性能

我想测试我的自定义组件 UI 渲染性能。我使用以下测试用例来检查渲染性能。

private long getLayoutTime(int layoutRes) {
        final Context targetContext = getInstrumentation().getTargetContext();
        final LayoutInflater layoutInflater = LayoutInflater.from(targetContext);

        final long startTime = System.currentTimeMillis();
        for (int i = 0; i < 1000; i++) {
            final View view = layoutInflater.inflate(layoutRes, null);
            view.setLayoutParams(new ViewGroup.LayoutParams(0, 0));

            view.measure(View.MeasureSpec.makeMeasureSpec(1000, View.MeasureSpec.EXACTLY), View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));
            final int measuredHeight = view.getMeasuredHeight();
            final int measuredWidth = view.getMeasuredWidth();

            view.layout(0, 0, measuredWidth, measuredHeight);
        }
        return System.currentTimeMillis() - startTime;
    }
Run Code Online (Sandbox Code Playgroud)

使用此代码我可以测试布局渲染时间。所以我改变了布局设计以获得更好的性能。现在我正在创建一个具有多个布局和组件(如图像、文本视图等)的自定义视图类。我将在运行时附加该类,组件将在运行时根据服务器响应创建。我不会在 XML 中附加此自定义组件。现在我想测试这个自定义视图的渲染性能。请建议我任何工具或任何方法来计算自定义视图的 UI 渲染时间。

我的探查器图像。在此输入图像描述

android automated-tests android-custom-view android-view

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

如何在 recyclerview 中添加从左向右滑动

我正在尝试为我的回收视图添加滑动功能。我正在按照此链接添加滑动操作。https://github.com/nikhilpanju/RecyclerViewEnhanced/blob/master/recyclerviewenhanced/src/main/java/com/nikhilpanju/recyclerviewenhanced/RecyclerTouchListener.java

在此链接中,我只能从右向左滑动。我想添加从左向右滑动。我尝试在onInterceptTouchEvent. 但我无法从左向右滑动。任何人都可以帮我添加从左向右滑动吗?

android swipe android-recyclerview

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

如何在Android的ListView中获取所有TextView值?

我试图在列表视图中获取所有TextView值。

我有一个ListView,没有N个列表项。

所有列表项都有增加和减少按钮。

如果单击增加按钮,则总数(TextView)值将增加。如果我单击减少按钮,总数(TextView)将减少。

现在,我想从列表中获取所有总计数值。

这是我的代码:

holder.button.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {

                    View parentView = (View) v.getParent();

                    String getString = ((TextView) parentView.findViewById(R.id.counter)).getText().toString();

                    String totalAmtString = ((TextView) parentView
                            .findViewById(R.id.text1)).getText().toString();

                    int totAmount = Integer.parseInt(totalAmtString);

                    count = Integer.parseInt(getString);
                    count++;
                    tot_amt = totAmount * count;

                    countString = String.valueOf(count);

                    String TotAmt = String.valueOf(tot_amt);

                    ((TextView) parentView.findViewById(R.id.counter))
                            .setText(countString);

                    ((TextView) parentView.findViewById(R.id.totalPrice)).setText(TotAmt);

                    for(int i=0;i>data.size();i++){
                        // Here I want to get the all TotAmt every time i click Increase button.
                    }

                }

            });
Run Code Online (Sandbox Code Playgroud)

请让我有任何想法在列表视图中获取所有TextView值。

随函附上我的完整代码:

public class …
Run Code Online (Sandbox Code Playgroud)

android listview

0
推荐指数
1
解决办法
6356
查看次数