我正在尝试在我创建的网站上创建淡入/淡出效果(编辑:网站网址已删除)
一切都很好,除非你点击调色板中的一种颜色,它取代图像没有任何效果.
这是我写的小脚本,它是在其中一种颜色上触发的.
function changeImage(newColor) {
//var previousImage = $('#image-holder').css("background-image");
$('#image-holder').css("background", "url('images/design-" + newColor + ".jpg')");
};
Run Code Online (Sandbox Code Playgroud)
我试过玩,$('#image-holder').fadeOut(1500)然后$('#image-holder').fadeIn(1500)它的行为很有趣......它使图像双重淡化.
$('#image-holder').css("background", "url('images/design-" + newColor + ".jpg')").fadeOut(function(){$(this).fadeIn()});
Run Code Online (Sandbox Code Playgroud)
我想要实现的是在彩色框上单击,当前背景图像将淡出,而新背景图像将淡入.
我知道如果我使用两个<img src="" />并切换它们的显示/可见性就更容易实现,但遗憾的是我无法改变HTML,所以我正在寻找基于jQuery的解决方案.
感谢帮助!
我有一个控制多个片段的活动。默认片段是HomepageFragment. 当替换到不同的 Fragment 时,我总是确保堆栈保持平坦 - 这意味着只有HomepageFragment保持在堆栈中并在其顶部是当前 Fragment。例如:
HomepageFragmentFragmentA需要替换 to - 一切都是好的原因HomepageFragment是最后一个 FragmentHomepageFragment->FragmentA FragmentB需要替换为- 首先弹出堆栈上的最后一个 Fragment ( fragmentA) 然后替换为FragmentBHomepageFragment->FragmentB在生产中,我看到很多TransactionTooLargeException崩溃。
我曾经TooLargeTool跟踪问题的来源,我发现当我在活动中的片段之间切换时,其中有一个android:support:fragments键SaveInstanceState变得越来越大(呈指数级),直到发生崩溃。
似乎即使从堆栈中弹出时,有关原始事务的一些数据也会继续保存。
按照此处的建议将其删除会导致 Activity 在被操作系统杀死后无法正确恢复。
我压平堆栈的方法有什么问题吗?有没有更好的方法?究竟保存在什么数据下android:support:fragments?
注意:我没有为这些片段设置任何参数。此外,它们在其 saveInstanceState 包中保存了非常小的数据。
谢谢!
android android-fragments android-activity onsaveinstancestate transactiontoolargeexception
我不确定如何定义它,但基本上我想从给定的URL检索相关的图像和文本摘要.
例如,当用户将链接粘贴到Facebook上的共享框时,它会立即从文章本身和相关图像中获取文章标题和/或短文本块.它永远不会得到错误的图像,如网站的标识或文章本身周围的文字......
同样适用于Google+和其他社交网络或此类服务.
我开始假设我需要使用下面的代码阅读页面内容,如何确定哪个图像是相关的(来自文章正文)以及哪个文本是文章文本?
URL oracle = new URL("http://www.oracle.com/");
BufferedReader in = new BufferedReader(
new InputStreamReader(oracle.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
Run Code Online (Sandbox Code Playgroud)
我当然不是在这里要求代码(除非某人有一个代码片段并且愿意分享)但更多的是如何处理这个...我从哪里开始?
任何帮助将不胜感激!
我正在使用"Tabs + Swipe"项目,我很难删除片段.
我正在做的步骤:
问题: 执行删除后,由于某种原因,我仍然可以向右滚动并看到一个空片段.我不能选择它,它只是反弹回来.似乎片段没有被移除,而是从左侧将其位置更改为标签.
我的适配器:
public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
public SectionsPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = new TabFragment();
Bundle args = new Bundle();
args.putInt(TabFragment.ARG_TAB_POSITION, position);
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return tabsList.size();
}
@Override
public CharSequence getPageTitle(int position) {
return tabsList.get(position).getTitle();
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
super.destroyItem(container, position, object);
FragmentManager manager = ((Fragment)object).getFragmentManager(); …Run Code Online (Sandbox Code Playgroud) 我的应用程序托管用户安装的小部件,与启动器应用程序相同.
一旦我绑定小部件,一切正常.窗口小部件创建,自动更新,我可以单击以导航内部视图.
一切都工作正常,直到我从Play商店更新我的应用程序(或手动使用签名的APK).
更新后,小部件仍然显示但不再更新.一些小部件在我点击它们时起作用,但是视图被卡住并且永远不会更新,直到我重新创建小部件(获取新ID并绑定它).
我尝试使用强制更新
Intent intent = new Intent();
intent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
intent.setComponent(appWidgetInfo.provider);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[]
{appWidgetId});
context.sendBroadcast(intent);
Run Code Online (Sandbox Code Playgroud)
但这没有帮助......
我想尝试点击强制更新,但我找不到任何方法来获取小部件的RemoteViews(因为这不是我的小部件,我只是托管它).
RemoteViews views =
new RemoteViews(context.getPackageName(),R.layout.mywidget_layout);
Intent updateIntent = new Intent();
updateIntent.setAction(AppWidgetManager.ACTION_APPWIDGET_UPDATE);
updateIntent.putExtra(myWidgetProvider.WIDGET_IDS_KEY, ids);
PendingIntent pendingIntent = PendingIntent.getBroadcast(
context, 0, updateIntent, PendingIntent.FLAG_UPDATE_CURRENT);
views.setOnClickPendingIntent(R.id.view_container, pendingIntent);
Run Code Online (Sandbox Code Playgroud)
还实现了一个AppWidgetProvider监听小部件的ID更改(APPWIDGET_HOST_RESTORED),但它不会在我的应用程序更新时调用.
我的下一步是在应用程序更新后重新创建所有小部件,但我真的不愿意这样做.
非常感谢任何帮助!
将我的应用迁移到Android Studio 3.2上的AndroidX库.在调试中运行时,一切都按预期工作但如果我生成一个签名的APK,使用Proguard进行模糊处理 - 我收到此错误:
java.lang.VerifyError: Verifier rejected class d.a: androidx.preference.Preference d.a.a(androidx.fragment.app.k, int)
failed to verify: androidx.preference.Preference d.a.a(androidx.fragment.app.k, int): [0x8] ‘this’ argument ‘Reference:
androidx.fragment.app.k’ not instance of ‘Reference:
androidx.preference.B’ (declaration of ‘d.a’ appears in base.apk)
Run Code Online (Sandbox Code Playgroud)
我试过排除所有AndroidX库:
-dontwarn androidx.**
-keep class androidx.** { *; }
-keep interface androidx.** { *; }
Run Code Online (Sandbox Code Playgroud)
但问题仍然存在,除非我基本上取消使用的混淆
-keep class com.myapp.package.** { *; }
Run Code Online (Sandbox Code Playgroud)
还尝试查看映射文件中的哪个类d.a,但它没有提示我问题的方向.
Jetifier已启用
android.useAndroidX=true
android.enableJetifier=true
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么吗?这有可能是androix.preference库的一个问题吗?
我通过扩展SimpleCursorAdapter创建了一个自定义ListView.结果是IMAGE + CheckedTextView(文本+复选框).
当我长按一个项目时,一切正常 - 我得到了正确的ID和被点击的项目的详细信息.
当我尝试将项目标记为已选中但它检查错误的复选框时,会出现此问题.
例如:我的列表中有9个项目,排序为1-9.如果我点击listItem 1,则会检查第9行的复选框.如果我点击第4项,则会检查第6行上的复选框,如果我点击中间一行,则会进行检查.
显然,我在这里遗漏了一些东西:)请记住,当我长时间点击该行(contextMenu打开)时,一切都很好.
这是听众:
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CheckedTextView markedItem = (CheckedTextView) view.findViewById(R.id.btitle);
if (!markedItem.isChecked()) {
markedItem.setChecked(true);
} else {
markedItem.setChecked(false);
}
}
});
Run Code Online (Sandbox Code Playgroud)
感谢任何帮助!
如果您需要我发布更多代码,请告诉我.
谢谢!
顺便说一句,如果我点击多个...... PARTY继续......没有明显的顺序......
编辑:适配器代码
public class ImageCursorAdapter extends SimpleCursorAdapter {
private Cursor c;
private Context context;
private String url;
private TextView bUrl;
public ImageCursorAdapter(Context context, int layout, Cursor c,
String[] from, int[] to) {
super(context, …Run Code Online (Sandbox Code Playgroud) 在过去的几个小时里,我一直在挣扎,用google搜索谷歌的地狱,StackOverflow或其他地方的例子都不适合我,所以在这里......
我有一个自定义视图,那extends LinearLayout and implements GestureDetector.OnGestureListener.
在我的自定义布局中,我有3个按钮,每个按钮都有一个点击监听器.我想要的是能够在视图中随处执行以执行某些操作,但也可以单击按钮.
如果我在视图内部而不是通过其中一个按钮,我的onFling功能可以很好地工作.如果我扔过其中一个按钮,它会在大多数情况下执行单击,或者在某些情况下执行任何操作.
这是我的代码的相关部分:
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) {
return false;
}
// right to left swipe
if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
viewFlipper.setInAnimation(slideLeftIn);
viewFlipper.setOutAnimation(slideLeftOut);
viewFlipper.showNext();
return true;
} else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
viewFlipper.setInAnimation(slideRightIn);
viewFlipper.setOutAnimation(slideRightOut);
viewFlipper.showPrevious();
return true;
}
return false;
}
@Override
public …Run Code Online (Sandbox Code Playgroud) 我正在生成一个基于xml(entries和entryValues)的listPreference对话框.
<string-array name="listArray">
<item>Title (A-Z)</item>
<item>Title (Z-A)</item>
<item>Visits (default)</item>
<item>Date</item>
<item>Manual</item>
</string-array>
<string-array name="listValues">
<item>titleASC</item>
<item>titleDESC</item>
<item>visitsSort</item>
<item>createSort</item>
<item>manualSort</item>
</string-array>
Run Code Online (Sandbox Code Playgroud)
我想基于一些其他参数隐藏/禁用一些条目(例如:手动).
我知道它应该在这个范围内:
Preference sorted = (Preference) findPreference(OPT_SORT);
sorted.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
if (params) {
What should i put here to hide/disable some of the entries?
}
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:
我找到的最佳解决方案是加载一组不同的条目和EntryValues.在Preference类(onCreate):
ListPreference sortBy = (ListPreference) findPreference(OPT_SORT);
if (isTabletDevice()) {
sortBy.setEntries(getResources().getStringArray(R.array.HClistArray));
sortBy.setEntryValues(getResources().getStringArray(R.array.HClistValues));
}
Run Code Online (Sandbox Code Playgroud)
希望这有助于任何人!:)
我的用户报告当他们尝试使用我的应用程序(而不是启动器应用程序)选择窗口小部件时发生崩溃.我正在使用标准的小部件选择器代码,它始终有效,并且仍适用于所有设备,LG G2和LG G3除外.
我发现了一些类似的问题,但他们都提到了Android 2.1遭遇的崩溃,这是用空数据解决方法解决的(已在我的代码中实现).
还使用了另一种获取小部件的方法,没有官方选择器 - 这有效,但要求应用程序是BIND_APPWIDGET权限的系统应用程序.
任何人都遇到过这个问题,也许找到了解决方法或解决方案?
谢谢
这是代码:
public static void selectWidget(AppWidgetHost appWidgetHost, final Activity activity) {
try {
int appWidgetId = appWidgetHost.allocateAppWidgetId();
Intent pickIntent = new Intent(AppWidgetManager.ACTION_APPWIDGET_PICK);
pickIntent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);
addEmptyData(pickIntent);
activity.startActivityForResult(pickIntent, R.id.REQUEST_PICK_APPWIDGET);
} catch (ActivityNotFoundException e) {
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(activity, activity.getString(R.string.widget_config_no_activity), Toast.LENGTH_SHORT).show();
}
});
}
}
/**
* This avoids a bug in the com.android.settings.AppWidgetPickActivity, which is used
* to select widgets. This just adds empty …Run Code Online (Sandbox Code Playgroud) android ×9
android-view ×1
androidx ×1
html ×1
java ×1
javascript ×1
jquery ×1
listview ×1
r8 ×1