在iOS应用程序上,我看到了这样一个按钮:
我想在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" />
看起来像这样:
嗯,只是一个正常(丑陋的)按钮。我不知道,我怎么能像iOS一样设计它。任何建议或链接将不胜感激!
答案 0 :(得分:4)
最好的解决方案是创建自己的自定义视图,其行为类似于iOS版本(但是,正如其他用户所提到的,Android确实拥有自己的设计指南,而您所看到的视图是iOS实现,专为该平台而设计。)
如果您查看上面的iOS图片(您的副本突出显示某些部分),我会将其拆分为多个部分。
您可以像ViewGroup
一样使用Android LinearLayout
来创建整体图片,并为LinearLayout
提供边框或背景(可以是圆角矩形的位图图片)示例(有关如何使其适合多个屏幕的示例,请参阅 Android Nine Patch 。)
LeftAligned ImageView
适当的尺寸。Bold TextView
,其中包含文字“Email1”。TextView
,它是蓝色并使用
要创建的elipsize
属性(在Android XML布局中定义)
文本达到最大宽度后,最后"..."
消耗。 (在XML中使用android:ellipsize="end"
)ImageView
适当的大小。您还可以使用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,LinearLayout
或RelativeLayout
,可能有多个TextView
和ImageView
在里面。
答案 4 :(得分:-1)