小编cuo*_*oka的帖子

使用TextInputLayout时更改EditText提示颜色

我正在使用TextInputLayout设计库中的新功能.我可以让它显示并更改浮动标签的颜色.不幸的是,实际EditText提示现在总是白色的.

我试过用XML,样式和编程方式更改hintColor,并尝试使用android.support.v7.widget.AppCompatEditTextEditText提示总是显示白色.

这是我TextInputLayout和我的XMLEditText

<android.support.design.widget.TextInputLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android.support.design:hintTextAppearance="@style/GreenTextInputLayout">


    <EditText

    android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/city"
        android:textColorHint="@color/black"
        android:hint="@string/city" />

</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的样式TextInputLayout(我尝试将hintTextColor属性设为黑色,但没有为我做任何事情):

<style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat">
    <item name="android:textColor">@color/homestory_green</item>
</style>
Run Code Online (Sandbox Code Playgroud)

android android-edittext android-textattributes android-support-library android-design-library

134
推荐指数
17
解决办法
19万
查看次数

需要单击SearchView两次才能打开

我正在按照这个Android教程来实现搜索视图.在解决了一些问题后,我开始工作了.但是,需要单击搜索视图两次才能打开editText.知道发生了什么事吗?

过滤类:

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    getMenuInflater().inflate(R.menu.toolbar_menu_filter, menu);

    // Associate searchable configuration with the SearchView
    SearchManager searchManager =
            (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView =
            (SearchView) menu.findItem(R.id.menu_item_search).getActionView();
    searchView.setSearchableInfo(
            searchManager.getSearchableInfo(getComponentName()));

    searchView.setQueryHint(getResources().getString(R.string.search_hint));

    return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)

menu .xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".FilterUI">

<item android:id="@+id/menu_item_search"
    android:title="Search"
    android:icon="@drawable/ic_search_white"
    app:actionViewClass="android.widget.SearchView"
    app:showAsAction="ifRoom|collapseActionView"/>

<item android:id="@+id/menu_item_options"
    android:icon="@drawable/ic_clear_all_white"
    app:showAsAction="ifRoom"
    android:title="@string/filter_default"/>
Run Code Online (Sandbox Code Playgroud)

清单文件

<activity android:name=".Activities.FilterUI"
        android:screenOrientation="portrait"
        android:configChanges="orientation"
        android:windowSoftInputMode="adjustNothing">

        <meta-data android:name="android.app.searchable"
            android:resource="@xml/searchable" />

    </activity>

    <activity android:name=".Activities.SearchActivity">

        <intent-filter>
            <action android:name="android.intent.action.SEARCH"/>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

    </activity>
Run Code Online (Sandbox Code Playgroud)

android searchview

11
推荐指数
1
解决办法
769
查看次数

从带有 main.rs 文件的本地包导入时未解决导入问题

我已将库作为子模块包含在我的程序中。结构如下:

\n\n
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 my_lib/\n     \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 Cargo.toml\n     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 src/\n          \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 lib/\n               \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 mod.rs\n               \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 foo.rs\n          \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.rs\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 src/\n     \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 main.rs\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 Cargo.toml\n
Run Code Online (Sandbox Code Playgroud)\n\n

在我的程序Cargo.toml文件中,我添加了以下答案的依赖项:

\n\n
[dependencies]\nmy_lib = { path = "./my_lib" }\n
Run Code Online (Sandbox Code Playgroud)\n\n

然而我无法在我的程序中使用这个库,我对 Rust 有点陌生,这个导入系统让我感到非常困惑。我已经尝试过这个main.rs

\n\n
[dependencies]\nmy_lib = { path = "./my_lib" }\n
Run Code Online (Sandbox Code Playgroud)\n\n

但我收到unresolved import \'my_lib\'错误。

\n

rust rust-crates rust-cargo

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

SetError在TextInputLayout中生成具有自定义样式的异常

我使用自定义样式在TextInputLayout中使用Edittext,以便我可以更改提示颜色.如果我在不设置样式的情况下使用EditText,则该setError方法可以正常工作,但是在我的样式集中,抛出了下一个异常:

java.lang.UnsupportedOperationException: Failed to resolve attribute at index 24: TypedValue{t=0x3/d=0x2b5 "res/color/secondary_text_material_dark.xml" a=1 r=0x1060166}
                                                                             at android.content.res.TypedArray.getColor(TypedArray.java:447)
                                                                             at android.widget.TextView.<init>(TextView.java:745)
                                                                             at android.widget.TextView.<init>(TextView.java:678)
                                                                             at android.widget.TextView.<init>(TextView.java:674)
                                                                             at android.widget.TextView.<init>(TextView.java:670)
                                                                             at android.support.design.widget.TextInputLayout.setErrorEnabled(TextInputLayout.java:380)
                                                                             at android.support.design.widget.TextInputLayout.setError(TextInputLayout.java:425)
                                                                             at com.wallakoala.wallakoala.Activities.SignUpUI.validateEmail(SignUpUI.java:50)
                                                                             at com.wallakoala.wallakoala.Activities.SignUpUI.access$100(SignUpUI.java:21)
                                                                             at com.wallakoala.wallakoala.Activities.SignUpUI$MyTextWatcher.afterTextChanged(SignUpUI.java:103)
                                                                             at android.widget.TextView.sendAfterTextChanged(TextView.java:8017)
                                                                             at android.widget.TextView$ChangeWatcher.afterTextChanged(TextView.java:10182)
                                                                             at android.text.SpannableStringBuilder.sendAfterTextChanged(SpannableStringBuilder.java:1043)
                                                                             at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:560)
                                                                             at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:492)
                                                                             at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:34)
                                                                             at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:685)
                                                                             at android.view.inputmethod.BaseInputConnection.setComposingText(BaseInputConnection.java:445)
                                                                             at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:340)
                                                                             at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:78)
                                                                             at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                             at android.os.Looper.loop(Looper.java:224)
                                                                             at android.app.ActivityThread.main(ActivityThread.java:5526)
                                                                             at java.lang.reflect.Method.invoke(Native Method)
                                                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Run Code Online (Sandbox Code Playgroud)

这是EditText的XML

<android.support.design.widget.TextInputLayout
        android:id="@+id/email_input_layout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginRight="34dp"
        android:layout_marginLeft="34dp"
        android:layout_marginTop="12dp"
        android:theme="@style/TextLabel">

        <EditText
            android:id="@+id/email_edittext"
            android:inputType="textEmailAddress" …
Run Code Online (Sandbox Code Playgroud)

android android-edittext android-styles android-textinputlayout

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

Java - 如何避免这种重复的代码

我目前正在编写一个显示值的Java程序,AreaChart并且这样做我有一个ArrayList,其名称dataList来自泛型类型AreaChartPair.

每个都AreaChartPair包含X轴(字符串)值和Y轴(整数)值.

X轴是日期,Y轴是计数器,因为所有数据都是从文件中读取的,所以日期将按未排序的顺序排列.要对它们进行排序我使用此功能:

dataList.sort(Comparator.comparing(AreaChartPair::getXAxisStringValue));

这并没有完全解决我的问题,因为它只会比较前几个字母数字字符(即02.09.2030后来01.01.2000,因为02之后01)

为了解决这个问题,我简单地将日期反转dd.mm.yyyyyyyy.mm.dd,使用上面的函数对列表进行排序,然后将字符串反转回dd.mm.yyyy

我现在的问题是如何简化这段代码,因为它是重复的:

//replaces the current data with the reversed string
for (int index = 0; index < dataList.size(); index++) { 
    dataList.set(index, new AreaChartPair(model.reverseDate(dataList.get(index).getXAxisStringValue()),
        dataList.get(index).getYAxisIntegerValue()));
}

//sorts the data
dataList.sort(Comparator.comparing(AreaChartPair::getXAxisStringValue));

//reverses the string back to normal, so it can be displayed
for (int index = 0; index < dataList.size(); index++) {
    dataList.set(index, new AreaChartPair(model.reverseDate(dataList.get(index).getXAxisStringValue()),
        dataList.get(index).getYAxisIntegerValue())); …
Run Code Online (Sandbox Code Playgroud)

java

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

适合 ReyclerView 项目中 imageView 的图像宽度

我目前可以使用此代码。我正在做的是使用 Picasso 下载图像并将其加载到 imageView 中,该 imageView 位于 RecyclerView 项内。

回收者项目 XML

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card_item"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:cardPreventCornerOverlap="false"
    app:cardElevation="4dp"
    app:cardCornerRadius="4dp"
    app:cardUseCompatPadding="true">

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!-- Loading View -->
        <com.wang.avi.AVLoadingIndicatorView
            android:id="@+id/avloadingitem"
            android:layout_width="50dp"
            android:layout_height="50dp"
            android:layout_gravity="center"
            android:visibility="gone"
            app:indicator="BallClipRotate"
            app:indicator_color="@color/colorAccent"/>

        <!-- Imagen -->
        <com.wallakoala.wallakoala.Views.ProductImageView
            android:id="@+id/grid_image"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:riv_corner_radius_bottom_left="4dp"
            app:riv_corner_radius_bottom_right="4dp"
            app:riv_corner_radius_top_left="4dp"
            app:riv_corner_radius_top_right="4dp"/>

        <!-- Pie de foto -->
        <RelativeLayout
            android:id="@+id/footer"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:alpha="0.75">

            <!-- Info extra -->
            <include android:id="@+id/extraInfo"
                layout="@layout/product_footer_extra"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:visibility="visible"/>

            <!-- Info principal -->
            <include android:id="@+id/mainFooter"
                layout="@layout/product_footer"
                android:layout_height="@dimen/footer_height"
                android:layout_width="match_parent" …
Run Code Online (Sandbox Code Playgroud)

android image imageview picasso android-recyclerview

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