使Android EditText看起来一样

时间:2014-06-28 15:12:27

标签: android android-edittext

我正在创建一个简单的登录活动,我正在尝试使edittext在所有设备上看起来都一样。在Android Studio中,它在所有API上看起来都是一样的,但在真实设备上它看起来非常不同。我能做些什么来实现它们看起来一样?

这就是它在Android Studio中的外观

This is how it looks in Android Studio

这就是它在真实设备上的外观

enter image description here

任何帮助将不胜感激。我还在学习Android开发。

4 个答案:

答案 0 :(得分:2)

小部件的背景依赖于 API 级别。

将此xml设置为EditText背景属性。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
 android:shape="rectangle" android:padding="10dp">
<solid android:color="#4C000000"/>
    <corners android:bottomRightRadius="5dp"
             android:bottomLeftRadius="5dp"
             android:topLeftRadius="5dp"
             android:topRightRadius="5dp"/>
</shape>

这与每个API上的EditText具有相同的外观。

答案 1 :(得分:1)

它完全取决于您使用模拟器的方式。模拟器,因为在Android Studio之前的通用AVD(在Eclipse中使用,或者那种IDE),将使用默认外观来显示开发环境中的小部件和组件。

您可以安装制造商设备外观以模拟您的模拟器作为原始模拟器。看看description from the Samsung official website

  

模拟器皮肤是在模拟GALAXY S2上测试Android应用程序的简单方法。但是,仿真不会模拟实际设备的所有功能。仿真允许您查看应用程序的显示如何缩放到GALAXY S2的屏幕。

在这种情况下,它会提高您的可测试性,但也建议您始终在真实设备中进行测试以获得更好的结果。

答案 2 :(得分:0)

可能是因为您没有为您的应用程序指定主题。并根据基于以下规则的documentation android选择主题:

  

如果应用未在其清单中明确请求主题,则为Android   4.0将根据应用程序的targetSdkVersion确定默认主题,以维持应用程序的原始期望:For   值小于11,@ android:style / Theme;在11到13之间   @android:风格/ Theme.Holo; 14岁及以上   @android:风格/ Theme.DeviceDefault

您可以在以下thread中找到更多详细信息。

答案 3 :(得分:0)

在drawable文件夹中创建edittext_style.xml,

<?xml version="1.0" encoding="utf-8"?>

<item><layer-list>
        <item><shape>
                <gradient android:angle="90" android:endColor="#ffffff" android:startColor="#ffffff" android:type="linear" />

                <stroke android:width="1dp" android:color="#CECFCE" />

                <corners android:radius="0dp" />

                <padding android:bottom="3dp" android:left="3dp" android:right="8dp" android:top="3dp" />
            </shape></item>
    </layer-list></item>

在style.xml中定义下面的代码,

    <!-- Edittext Style -->
<style name="edittext_style">
    <item name="android:background">@drawable/edittext_style</item>
    <item name="android:layout_marginLeft">10dp</item>
    <item name="android:layout_marginRight">10dp</item>
    <item name="android:layout_marginBottom">10dp</item>
    <item name="android:paddingLeft">8dp</item>
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingBottom">5dp</item>
    <item name="android:popupBackground">#DFFFFFFF</item>
</style>

然后你去,根据你的要求使用颜色代码,

<EditText
    android:id="@+id/email"
    style="@style/edittext_style"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />