我尝试将支持库更新到23.2.0并遇到此错误:
Exception while inflating <vector>
org.xmlpull.v1.XmlPullParserException: Binary XML file line #17<vector> tag requires viewportWidth > 0
at android.support.graphics.drawable.VectorDrawableCompat.updateStateFromTypedArray(VectorDrawableCompat.java:535)
at android.support.graphics.drawable.VectorDrawableCompat.inflate(VectorDrawableCompat.java:472)
at android.support.graphics.drawable.VectorDrawableCompat.createFromXmlInner(VectorDrawableCompat.java:436)
at android.support.v7.widget.AppCompatDrawableManager$VdcInflateDelegate.createFromXmlInner(AppCompatDrawableManager.java:829)
at android.support.v7.widget.AppCompatDrawableManager.loadDrawableFromDelegates(AppCompatDrawableManager.java:303)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:178)
at android.support.v7.widget.AppCompatDrawableManager.getDrawable(AppCompatDrawableManager.java:173)
at android.support.v7.widget.TintTypedArray.getDrawable(TintTypedArray.java:60)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:254)
at android.support.v7.widget.Toolbar.<init>(Toolbar.java:196)
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:594)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:696)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:267)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:129)
at com.chotot.vn.v2.activities.MainActivity.onCreate(MainActivity.java:121)
at android.app.Activity.performCreate(Activity.java:5133)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
at android.app.ActivityThread.access$600(ActivityThread.java:141)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5103)
at java.lang.reflect.Method.invokeNative(Native Method) …
Run Code Online (Sandbox Code Playgroud) 我在尝试制作项目模块时遇到此错误
apply plugin: 'com.android.library'
android {
compileSdkVersion 17
buildToolsVersion "19.1.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 8
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile files('libs/sdk.jar')
compile files('libs/ads-lib.jar')
compile project(':google-play-services_lib')
compile files('libs/hdvdecoderandroid.jar')
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个错误?
编辑
这是我的日志文件,当我尝试在命令行中构建它时
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':hDVietAndroid:m
ergeDebugResources'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAct
ions(ExecuteActionsTaskExecuter.java:69)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(Ex
ecuteActionsTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.exe
cute(PostExecutionAnalysisTaskExecuter.java:35)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(Skip
UpToDateTaskExecuter.java:64)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(Valida
tingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.exec
ute(SkipEmptySourceFilesTaskExecuter.java:42)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute
(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOn
lyIfTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute
(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(Abstra
ctTask.java:305) …
Run Code Online (Sandbox Code Playgroud) 抱歉我的愚蠢标题,我将在下面清楚地描述:
情况
我有ViewPager
4 OnBoardingFragment
秒内.每个Fragment
都具有完全相同的布局,inflated
来自相同的xml文件.这个布局包含Button
我调用的一个,我为它btnNext
设置了OnClickListener
它.
getItem
我的PagerAdapter的功能
@Override
public Fragment getItem(int position) {
String title, description, button;
int resource;
boolean end = false;
switch (position) {
case 0:
title = context.getString(R.string.on_boarding_title_1);
description = context.getString(R.string.on_boarding_description_1);
resource = R.drawable.on_boarding_bg_0;
button = context.getString(R.string.on_boarding_button_1);
break;
case 1:
title = context.getString(R.string.on_boarding_title_2);
description = context.getString(R.string.on_boarding_description_2);
resource = R.drawable.on_boarding_bg_1;
button = context.getString(R.string.on_boarding_button_2);
break;
case 2:
title = context.getString(R.string.on_boarding_title_3);
description = context.getString(R.string.on_boarding_description_3);
resource = R.drawable.on_boarding_bg_2;
button …
Run Code Online (Sandbox Code Playgroud) 我看到Sounds app可以通过只按一个OK按钮邀请我所有的Facebook好友安装这个应用程序.
我怎样才能做到这一点?
我遇到了一个非常奇怪的问题。我的情况是:
我构建了一个包含许多页面的应用程序,每个页面都是一个Fragment
. 我在每个页面中都使用了RecyclerView
和。CardView
我的主页布局如下:
当我单击图像项目导航到详细信息页面然后立即按后退按钮时,我的主页会显示,但是:
正如您所看到的,所有阴影和角效果都消失了,滚动不起作用,当我触摸某个项目时,需要几秒钟才能导航详细信息页面。当显示详细信息页面时,一切恢复正常。这是我的替换片段方法:
public void replaceBackgroundFragment(Fragment mf, String tag, boolean addBackStack) {
if (mf != null && (currentFragmentTag == null || !currentFragmentTag.equals(tag))) {
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.setCustomAnimations(R.anim.slide_in_right, R.anim.slide_out_left,
R.anim.slide_in_left, R.anim.slide_out_right);
ft.replace(R.id.rl_background, mf, tag);
if (addBackStack) {
mf.setCanBack(true);
ft.addToBackStack(tag);
}
ft.commit();
pendingFragment = null;
pendingTag = null;
}
}
Run Code Online (Sandbox Code Playgroud)
当点击一个项目时:
public void onItemClick(MainBanner item) {
MoviePlayerFragment fragment = MoviePlayerFragment.newInstance(item.getItemID());
activity.replaceBackgroundFragment(fragment, "movie_player_fragment" + item.getItemID(), true); …
Run Code Online (Sandbox Code Playgroud) android android-fragments android-cardview android-recyclerview
当我尝试使用Android Studio
with 构建项目时,我遇到了这个错误minifyEnabled true
.
错误的详细信息
:app:transformClassesWithDexForDevDebug
Uncaught translation error: com.android.dx.cf.code.SimException: expected type int but found com.apptimize.hz
Uncaught translation error: com.android.dx.cf.code.SimException: expected type int but found com.apptimize.oa
2 errors; aborting
Run Code Online (Sandbox Code Playgroud)
我该如何解决?
UPDATE*
Proguard文件的内容.
-optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontpreverify -verbose -optimizations!code/simplification/arithmetic,!field /,!class/merge /
-dontwarn android.support.**-dontwarn com.atinternet.**-dontwarn org.apache.**
-keep public class*extends android.app.Activity -keep public class*extends android.app.Application -keep public class*extends android.app.Service -keep public class*extends android.content.BroadcastReceiver -keep public class*extends android.content.ContentProvider -keep public class*extends android.app.backup.BackupAgentHelper -keep public class*extends android.preference.Preference -keep public class …
android gradle android-build android-studio android-proguard
我在下面有两个应用程序。我用javaMulticastSocket
来发送和接收DatagramPacket
。
发件人
public class Sender {
public static void main(String[] args) throws IOException {
int port = 5000;
String group = "225.4.5.6";
final MulticastSocket s = new MulticastSocket();
byte[] buf = new byte[10];
for (int i = 0; i < buf.length; i++) {
buf[i] = (byte) i;
}
final DatagramPacket pack = new DatagramPacket(buf, buf.length,
InetAddress.getByName(group), port);
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
try {
s.send(pack);
System.out.println("Sent");
} catch …
Run Code Online (Sandbox Code Playgroud) 我创建了一个 android 发件人应用程序。它似乎不起作用,我想知道发生了什么,但我无法访问http://RECEIVER-IP-ADDRESS:9222。我已经注册了我的 chromecast 设备并使用了默认接收器。
我正在使用Exoplayer库来创建视频播放器应用程序。我正在尝试制作一个类似 youtube 的功能:将视频播放器拖到底部,我将被缩放到更小的尺寸。为此,我使用了ViewDragHelper。当玩家拖动时,我会像这样缩放它的大小:
public void onViewPositionChanged(View changedView, int left, int top, int dx, int dy) {
mTop = top;
mDragOffset = (float) top / mDragRange;
mVideoView.setPivotX(mHeaderView.getWidth());
mVideoView.setPivotY(mHeaderView.getHeight());
mVideoView.setScaleX(1 - mDragOffset / 2);
mVideoView.setScaleY(1 - mDragOffset / 2);
mDescView.setAlpha(1 - mDragOffset);
requestLayout();
}
Run Code Online (Sandbox Code Playgroud)
mVideoView
是 a SurfaceView
,玩家需要SurfaceView
渲染它的内容。在SurfaceView
规模正确的,但它的内容却没有。
问题:如何缩放 SurfaceView 及其内容?
以下是我的错误
java.lang.AbstractMethodError: abstract method "boolean android.support.v7.widget.RecyclerView$ItemAnimator.animatePersistence(android.support.v7.widget.RecyclerView$ViewHolder,
android.support.v7.widget.RecyclerView$ItemAnimator$ItemHolderInfo,
android.support.v7.widget.RecyclerView$ItemAnimator$ItemHolderInfo)"
Run Code Online (Sandbox Code Playgroud) android ×7
build.gradle ×1
chromecast ×1
exoplayer ×1
facebook ×1
gradle ×1
java ×1
kotlin ×1
multicast ×1
networking ×1