我正在为我学校的作业做聊天申请。
在我看来,Android 中默认的 EditText 看起来并不好。我想让它看起来像 Android 的 Chrome 中的 URL 框:
我已经看到这种设计用于其他应用程序,例如Catch Notes(看起来很漂亮)。
那么,是否有任何内置选项可以更改 EditText 或者我们必须从头开始绘制它?谁能给个链接?我试着用谷歌搜索它,但我不知道正确的术语
谢谢
我正在为我学校的作业做聊天申请。
在我看来,Android 中默认的 EditText 看起来并不好。我想让它看起来像 Android 的 Chrome 中的 URL 框:
我已经看到这种设计用于其他应用程序,例如Catch Notes(看起来很漂亮)。
那么,是否有任何内置选项可以更改 EditText 或者我们必须从头开始绘制它?谁能给个链接?我试着用谷歌搜索它,但我不知道正确的术语
谢谢
你可以通过透明的edittext背景来实现这一点。
所以把你的图像放在布局的背景中,并在其中放置一个edittext。并使edittext透明化..
或试试这个
<EditText
android:id="@+id/tracknumbertxt"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:layout_toLeftOf="@+id/info"
android:background="@drawable/enter_tracking_no"
android:ems="10"
android:hint="Enter Tracking No."
android:paddingLeft="30dp"
android:inputType="text"
android:imeOptions="actionGo"
android:singleLine="true" >
</EditText>
在这里我已经分配了填充左..
因此,根据您的设计,您必须设置 paddingRight 属性而不是 paddingLeft..
盲目使用下面的布局样式..您将准备好布局。只需更换按钮背景,您就完成了。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@android:color/darker_gray"
android:padding="5dip"
android:gravity="center">
<LinearLayout android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_weight="1"
android:background="@android:color/white"
android:gravity="center"
android:padding="5dip">
<EditText android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="Type URL"
android:layout_weight="1"
android:background="@android:color/transparent"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Refresh"/>
</LinearLayout>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="btn1"/>
<Button android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="btn2"/>
</LinearLayout>
SDK 本身没有任何东西可以使它看起来像那样。(也许如果您将使用限制为仅某个版本的操作系统,那么您可以使用该版本的默认样式,但这并不是一个真正可行的解决方案)
您将需要创建一个图像以用作 EditText 的背景,以使其看起来像您想要的那样。文本框和类似内容的最佳选择是使用9-patch 图像,或者创建层列表 XML文件并以这种方式描述您的设计。无论哪种方式,该文件都将进入项目中的 res/drawable 文件夹,您可以将其设置为背景,如下所示:
<EditText android:id="@+id/et_whatever"
android:layout_width="match_parent"
android:layout_height="wrap_content"
background="@drawable/YOUR_FILE_NAME" />