如何在android

时间:2018-05-07 03:40:04

标签: android android-layout android-studio android-styles android-studio-3.0

修改 我想摆脱的酒吧是顶部的酒吧说测试。我要更改的文字颜色是" testing@gmail.com"用户输入的文字:

UI

这是我的登录活动XML(我使用了android studio提供的默认登录活动):

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.uname.myapp.LoginActivity">

    <!-- Login progress -->
    <ProgressBar
        android:id="@+id/login_progress"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:visibility="gone" />

    <ScrollView
        android:id="@+id/login_form"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:id="@+id/email_login_form"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/email"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/prompt_email"
                    android:inputType="textEmailAddress"
                    android:maxLines="1"
                    android:singleLine="true" />

            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <EditText
                    android:id="@+id/password"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/prompt_password"
                    android:imeActionId="6"
                    android:imeActionLabel="@string/action_sign_in_short"
                    android:imeOptions="actionUnspecified"
                    android:inputType="textPassword"
                    android:maxLines="1"
                    android:singleLine="true" />

            </android.support.design.widget.TextInputLayout>

            <Button
                android:id="@+id/email_sign_in_button"
                style="?android:textAppearanceSmall"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:text="@string/action_sign_in"
                android:textStyle="bold" />

        </LinearLayout>
    </ScrollView>
</LinearLayout>

我想删除顶部的栏,因此在线显示的解决方案是继承Theme.AppComtact.NoActionBar。这是我的风格:

<style name="MyTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimary</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowBackground">@android:color/white</item>
        <item name="android:textColorHint">@android:color/darker_gray</item>
        <item name="android:textColor">@android:color/black</item>
    </style>

感到沮丧的是,我无法找到TextInputLayout上的文档,以及如何在文本字段中输入时只更改字体颜色。尝试搜索SO和其他网站,但无法找到解决方案。

我甚至尝试过<item name="android:colorControlNormal">@android:color/black</item>但它需要API等级21和15现在是最小的。

来自Python / Django背景,并第一次尝试学习android开发。

有人能指出我正确的方向吗?是否有文档显示开发人员可以在文本上应用的所有样式?

我的androidmanifest文件在应用程序中有这个:

android:theme="@style/MyTheme"

2 个答案:

答案 0 :(得分:4)

如果您想删除操作栏或标题栏,请使用此样式并根据您的需要制作必要的真/假。

<style name="Theme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
    <item name="android:windowNoTitle">false</item>
    <item name="android:windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

并在您的清单文件中

<activity
   android:name=".activities.FullViewActivity"
   android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen" 
/>

并更改字体颜色

<EditText
    android:id="@+id/myEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="Your Name"
    android:textColor="#FF0000"
</EditText>

答案 1 :(得分:2)

如果您只想设置TextInputLayout提示颜色,那么您应该尝试这个

  

应用程式:hintTextAppearance = “@风格/ text_appearance_color”

<android.support.design.widget.TextInputLayout
        android:padding="8dp"
        android:id="@+id/tilSample"
        app:errorTextAppearance="@style/error_appearance"
        app:hintTextAppearance="@style/text_appearance_color"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/etSample"
            android:layout_margin="8dp"
            android:padding="8dp"
            android:hint="android"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </android.support.design.widget.TextInputLayout>

对于NoActionBar,您的代码似乎没问题只需在应用程序级别的清单中应用主题。

修改

<style name="editTextStyle" parent="@android:style/Widget.EditText">
    <item name="android:background">@drawable/someBackground</item>
    <item name="android:textColor">#808080</item>
    <item name="android:layout_height">45dip</item>
    <!--other attibutes goes here-->
</style>