我EditText在android中有一个视图.在此,我想检测向左或向右滑动.我可以使用下面的代码在空白区域获取它.但是当我滑动时,这不起作用EditText.我怎么做?如果我做错了,请告诉我.谢谢.
使用代码:
switch (touchevent.getAction())
{
case MotionEvent.ACTION_DOWN:
{
oldTouchValue = touchevent.getX();
break;
}
case MotionEvent.ACTION_UP:
{
float currentX = touchevent.getX();
if (oldTouchValue < currentX)
{
// swiped left
}
if (oldTouchValue > currentX )
{
swiped right
}
break;
}
}
Run Code Online (Sandbox Code Playgroud) 将我的apk文件上传到google play会出现此错误:
您的APK无法使用aapt进行分析.错误输出:无法运行aapt转储标记:ERROR获取'name'属性:attribute不是字符串值
因为我知道这个问题在我的清单文件中,所以我把它放在这里:
AndroidManifext.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="ir.altontech.newsimpay">
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<permission
android:name="ir.altontech.newsimpay.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="ir.altontech.newsimpay.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<application xmlns:tools="http://schemas.android.com/tools"
android:name="ir.altontech.newsimpay.Classes.Model.AnalyticsApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="false"
android:theme="@style/AppTheme"
tools:replace="android:supportsRtl">
<receiver
android:name="com.adjust.sdk.AdjustReferrerReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<receiver android:name=".Receivers.SmsListener"> …Run Code Online (Sandbox Code Playgroud) 我在我的android应用程序中有几个方法,我想在多个活动中重用,因为它是一个Java助手类,我没有从任何东西扩展.我有两个问题,第一个是如何将上下文传递给java类,第二个是如何使用从helper类中的activity扩展的方法,下面是我的帮助类:
Java类
public class ScreenHelper {
Context context;
public ScreenHelper(Context ctx) {
this.context = ctx;
}
public int getStatusBarHeight(layout layout) {
Rect r = new Rect();
Window w = (Window) getWindow();
w.getDecorView().getWindowVisibleDisplayFrame(r);
return r.top;
}
public int getScreenHeight() {
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int ScreenHeight = metrics.heightPixels;
return ScreenHeight;
}
public int getTitleBarHeight() {
RelativeLayout relaLayout = (RelativeLayout) findViewById(R.id.title_bar);
int titleHeight = relaLayout.getHeight();
Log.d("Title Height","Title Height:" + titleHeight);
return titleHeight;
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
我在图像上做一个应用程序,以在GridView中显示它们,我从服务器获取20个图像.每个图像的分辨率为720*540.I使用JSON解析来获取url并使用下面的代码转换为Bitmap以设置图像.
public static Bitmap loadImageFromUrl(String url) {
InputStream inputStream;Bitmap b;
try {
inputStream = (InputStream) new URL(url).getContent();
BitmapFactory.Options bpo= new BitmapFactory.Options();
if(bpo.outWidth>500) {
bpo.inSampleSize=8;
b=BitmapFactory.decodeStream(inputStream, null,bpo );
} else {
bpo.inSampleSize=2;
b=BitmapFactory.decodeStream(inputStream, null,bpo );
}
return b;
} catch (IOException e) {
throw new RuntimeException(e);
}
}
Run Code Online (Sandbox Code Playgroud)
我的应用程序工作正常,但加载图像需要花费太多时间.所以我的应用程序变得缓慢.我应该降低图像的分辨率吗?
如何摆脱这个问题?
我的应用程序有两个活动,说MainActivity和SecondActivity。主要活动被声明为,android:launchMode="singleInstance"并且其方向始终为portrait。第二项活动总是有landscape方向的。
在某些设备中,一切正常,在任务管理器中只有一个应用程序实例,但是在某些设备(例如Samsung S7)中,当我启动时SecondActivity,在任务管理器中将有两个应用程序实例,如下图所示:
我的猜测是,什么是错用launchMode的MainActivty,但我需要它singleInstance。有什么建议吗?
编辑:
清单中的MainActivity:
<activity
android:name=".Activities.MainActivity"
android:screenOrientation="portrait"
android:launchMode="singleInstance"
android:theme="@style/AppTheme"
android:windowSoftInputMode="adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
第二:
<activity
android:name=".Activities.SecondActivity"
android:screenOrientation="landscape" />
Run Code Online (Sandbox Code Playgroud)
启动代码:
Intent intent = new Intent(getActivity(),
intent.putExtra("VideoUri", filmGet.getOutput().getData().getFilmTrailer());
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
如果有帮助,我SecondActivity将从片段开始。