我有一个图像按钮,点击它时没有响应触摸动画,因为它是一个静态图像,而不像棒棒糖上的常规按钮带有内置的连锁效果.我想将材料设计波纹触摸效果添加到图像中,但似乎无法找到实现它的方法.我可以在图像上设置一个滤色器,但这不是涟漪效应.我正在尝试做的一个例子就是当你在Google Play音乐中保存一个专辑封面图像并且阴影波纹在图像上移动时.
xml android imagebutton material-design android-5.0-lollipop
我从GitHub中删除了该项目,并希望通过Android Studio重新共享(创建新的存储库),但它仍然认为我已经在GitHub上了.有没有办法重置这个?
我正在寻找一个解决方案,这将允许我扩展cardview以查看更多信息,然后轻松崩溃它.Google Keep有这样的卡片示例.谁知道他们是怎么做到的?我会创建2个版本的cardview(一个折叠,一个展开),然后使用Animator类和手势方法在两个视图之间转换?我正在使用Recyclerview来保存我的卡片视图.
如果它完全相关,我发现了这个:http://developer.android.com/training/animation/layout.html
animation android android-layout android-cardview android-recyclerview
我目前正在尝试将我的应用程序转换为棒棒糖材质设计,并且在操作栏/工具栏中遇到了一些问题.按照我的方式实现所有操作,操作栏/工具栏不会显示在棒棒糖或kitkat设备上.也许有人可以看看我的主题,样式,activity_main(我拿着一堆片段,是我放置工具栏xml代码的唯一地方)和mainactivity.
谢谢.
价值观/ styles.xml
<resources>
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<!-- Set AppCompat’s actionBarStyle -->
<item name="actionBarStyle">@menu/action_menu</item>
<!-- The rest of your attributes -->
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
值/的themes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppTheme" parent="AppTheme.Base"/>
<style name="AppTheme.Base" parent="Theme.AppCompat">
<item name="colorPrimary">@color/material_blue_grey_800</item>
<item name="colorPrimaryDark">@color/material_blue_grey_950</item>
<item name="android:textColor">@color/black</item>
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
activity_main.xml中
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawerLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<RelativeLayout
android:id="@+id/drawerView"
android:layout_width="250dp"
android:layout_height="wrap_content"
android:layout_gravity="start" >
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize" />
<ListView
android:id="@+id/drawerList"
android:layout_width="250dp"
android:layout_height="match_parent"
android:layout_gravity="left"
android:background="@drawable/nav_border"
android:divider="@null" /> …Run Code Online (Sandbox Code Playgroud) 我使用以下代码筛选跨区字符串,将所有粗体文本保存为数组中的字符串:
StyleSpan[] spans = storyText.getSpans(0,
storyText.length(), StyleSpan.class);
List<String> boldedWords = new ArrayList<String>();
for (StyleSpan span : spans) {
if (span.getStyle() == Typeface.BOLD) {
//start
int s = storyText
.getSpanStart(span);
//end
int e = storyText.getSpanEnd(span);
boldedWords.add(storyText.subSequence(
s, e).toString());
}
}
String[] array = boldedWords
.toArray(new String[boldedWords.size()]);
Run Code Online (Sandbox Code Playgroud)
但是,我在数组中收到的字符串是乱序的。例如:
句子可能是(大写代表粗体文本):
storyText = "This ADJECTIVE NOUN is VERB"
Run Code Online (Sandbox Code Playgroud)
我要返回的数组是:按“名词、动词、形容词”的顺序排列。应该是:“形容词,名词,动词”
关于为什么会发生这种情况的任何见解?
我将什么添加到themes.xml以更改导航栏以使其更透明?我无法在任何地方找到它的文档.谢谢!
目前我有这个功能:
removeNull strList = filter (not . null) strList
Run Code Online (Sandbox Code Playgroud)
但是我需要使用map(我假设)将它应用到列表列表中,但是我遇到了类型错误.
在GHCi中,函数正确过滤:
removeNull ["i", "", "b"]
["i","b"]
Run Code Online (Sandbox Code Playgroud)
但这不会过滤:
removeNull [["i", "", "b"], ["i", "", "b"]]
[["i","","b"],["i","","b"]]
Run Code Online (Sandbox Code Playgroud) 我需要从这里开始:
[(2,"a"), (1,"a"), (1,"b"), (1,"c"), (2,"dd")]
Run Code Online (Sandbox Code Playgroud)
到这里:
[([1, 2], "a"), ([1], "b"), ([1], "c"), ([2], "dd")]
Run Code Online (Sandbox Code Playgroud)
到目前为止我有
combineInts listTuple = someFunc (map (\(num, str) -> ([num], str)) listTuple)
Run Code Online (Sandbox Code Playgroud)
其中"someFunc"是我仍需要弄清楚并实现的位.我相信它应该利用foldr,map和/或intercalate来实现我的目标.有任何想法吗?
所以我有一个谓词:
compatible([],_).
compatible(_,[]).
compatible([HA|TA],[HB|TB]) :-
HA \= HB,
compatible(TA,TB).
Run Code Online (Sandbox Code Playgroud)
它目前需要两个列表并确定它们是否成对兼容,如果是,则返回true,否则返回false.
例如:
?- compatible([8,2,6,3,67],[7,4,7,4,3]).
true
?- compatible([8,2,6,3,3],[7,4,7,4,3]).
false.
Run Code Online (Sandbox Code Playgroud)
第二次调用返回false,因为3位于两个列表的第5位.
我的问题是我如何修改这个谓词,以便递归检查2个以上的列表.潜在地,谓词可以检查包含1,2,3,4,5或甚至无限列表的列表列表.如果任何列表彼此不兼容,它将返回false.
因此,我可以检查3个列表,如下所示:
let Y = [[8,2,6,3,67],[7,4,7,4,3],[1,3,42,1,52]]
then...
?- compatible(Y).
true
let Z = [[8,2,6,3,67],[7,4,7,4,3],[1,3,6,1,52]]
then...
?- compatible(Z).
false.
Run Code Online (Sandbox Code Playgroud)
第二次调用失败的原因是6位于列表1和3的第3位.
我是初学者。我想为自定义 EditText 定义 xml,然后在运行时以编程方式添加这些自定义 edittext,而不使用一堆代码来自定义 editText。这可能类似于从库中实现自定义按钮、文本视图等......尽管它是我自己的。解决这个问题的最佳方法是什么?
谢谢!
xml customization android android-edittext programmatically-created
我试图从前到后获得状态.是否有方便的Haskell函数从列表中删除重复的元组?或者它可能有点复杂,比如遍历整个列表?
Before: the list of tuples, sorted by word, as in
[(2,"a"), (1,"a"), (1,"b"), (1,"b"), (1,"c"), (2,"dd")]
After: the list of sorted tuples with exact duplicates removed, as in
[(2,"a"), (1,"a"), (1,"b"), (1,"c"), (2,"dd")]
Run Code Online (Sandbox Code Playgroud) 我正在尝试获取此代码:
intersperse ',' $ show 123
Run Code Online (Sandbox Code Playgroud)
集成到此功能:
printListTuples listTuple = unlines [ ys ++ " " ++ unwords (map show x) | (x, ys) <- listTuple ]
Run Code Online (Sandbox Code Playgroud)
其中x对于此示例可以等于123.
因此代码应输出一个字符串,如下所示:"1,2,3"
而不是像这个代码目前那样只是"1 2 3".
我不断尝试在函数中"映射""穿插"和"显示"到x.有什么建议?
编辑:
例如,我尝试过使用
printListTuples listTuple = unlines [ ys ++ " " ++ unwords (map intersperse ',' $ show x) | (x, ys) <- listTuple ]
Run Code Online (Sandbox Code Playgroud)
但是这会返回一个错误:
Couldn't match expected type ‘String -> [String]’
with actual type ‘[[a0] -> [a0]]’
The first argument of ($) takes one argument, …Run Code Online (Sandbox Code Playgroud) 在这个自定义版本的地图功能中,有一个"f"是几个点.我不确定函数中f的含义(我是Haskell的初学者).它与高阶函数有关吗?有人可以解释f意味着什么,然后解释实际功能正在做什么来创建地图功能?
map f [] = []
map f (a:b) = f a:map f b
Run Code Online (Sandbox Code Playgroud)