用Android创建这样一个按钮? (受iOS启发)

时间:2013-01-07 15:29:18

标签: android button styles xamarin.android

在iOS应用程序上,我看到了这样一个按钮:

enter image description here

我想在Android中做同样的事情,我怎么能实现这个目标? 我尝试的是以下代码:

<Button
    android:id="@+id/widget41"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:text="Email1 testmail@gmail.com"
    android:textStyle="bold" />

看起来像这样:

enter image description here

嗯,只是一个正常(丑陋的)按钮。我不知道,我怎么能像iOS一样设计它。任何建议或链接将不胜感激!

5 个答案:

答案 0 :(得分:4)

最好的解决方案是创建自己的自定义视图,其行为类似于iOS版本(但是,正如其他用户所提到的,Android确实拥有自己的设计指南,而您所看到的视图是iOS实现,专为该平台而设计。)

enter image description here

如果您查看上面的iOS图片(您的副本突出显示某些部分),我会将其拆分为多个部分。

您可以像ViewGroup一样使用Android LinearLayout来创建整体图片,并为LinearLayout提供边框或背景(可以是圆角矩形的位图图片)示例(有关如何使其适合多个屏幕的示例,请参阅 Android Nine Patch 。)

  1. 首先,对于邮件图标,您需要LeftAligned ImageView 适当的尺寸。
  2. 接下来,我们有一个Bold TextView,其中包含文字“Email1”。
  3. 接着是另一个TextView,它是蓝色并使用 要创建的elipsize属性(在Android XML布局中定义) 文本达到最大宽度后,最后"..." 消耗。 (在XML中使用android:ellipsize="end"
  4. 最后我们有一个指标图片,也可以是ImageView 适当的大小。
  5. 您还可以使用RelativeLayout来实现此目标,这样您就可以RightAlign显示指标图片,LeftAlign邮件图标,并允许文字填充其间的空间它可以掌握。

    背景here

    使用九个补丁的示例

答案 1 :(得分:1)

iOS中的UITableView(就像android中的ListView一样)。这取决于你做的列表项设计。 Android中没有此类Button控件。

答案 2 :(得分:0)

你应该设计自己的按钮,看起来像iOS。

Android拥有自己的设计指南:

http://developer.android.com/design/patterns/pure-android.html

答案 3 :(得分:0)

好吧,正如其他人已经明确提到的那样,Android中没有像这样的默认Button,而且你的信息也不在iOS中。一切都与设计有关。任何事情都有可能,最终你会有多远意愿去实现它。

下面是一个简单的代码,它将与您的设计非常接近。

 <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:layout_margin="5dp"
        android:background="@drawable/text_background"
        android:drawableLeft="@drawable/envelope"
        android:drawablePadding="10dp"
        android:drawableRight="@drawable/right_arrow"
        android:ellipsize="end"
        android:gravity="center_vertical"
        android:text="@string/email" />

还可以有其他方式,例如整个视图可以是一个ViewGroup,LinearLayoutRelativeLayout,可能有多个TextViewImageView在里面。

答案 4 :(得分:-1)

Here是一个用于创建风格化Android按钮的教程。您可以围绕角落并更改背景颜色,使其看起来像ios中的按钮。

Here是一个类似的问题。

希望这有帮助。