Fel*_*das 1 android android-widget android-layout
这是我在Stackoverflow上的第一篇文章.在我提出问题之前,我只想说这是一个很好的信息资源,我发现社区非常有帮助.我希望能够与其他人分享我的Android开发知识.
我已经为Android开发了6个月了,虽然我学到了很多东西,但在布局/设计方面我仍然非常努力.
我有一个包含相对布局的layout.xml文件.在这个布局中,我有三个按钮.我希望这三个按钮具有一定的宽度尺寸,根据设备的屏幕尺寸/密度增大或缩小.
这是xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/relativeLayout1123123213"
android:layout_width="fill_parent"
android:layout_height="@dimen/actionbar_height"
android:orientation="horizontal">
<Button
android:id="@+id/btnLogin"
android:layout_width="100dp"
android:layout_height="50dp"
android:background="@drawable/button"
android:drawableLeft="@drawable/balloon_overlay_close"
android:gravity="center"
android:text="Earned" />
<Button
android:id="@+id/btnLogin2"
android:layout_width="113dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/btnLogin"
android:background="@drawable/button"
android:drawableLeft="@drawable/balloon_overlay_close"
android:gravity="center"
android:text="In Progress" />
<Button
android:id="@+id/btnLogin3"
android:layout_width="107dp"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/btnLogin2"
android:background="@drawable/button"
android:drawableLeft="@drawable/balloon_overlay_close"
android:gravity="center"
android:text="Done" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
考虑到每个按钮中有不同的文字大小,我对宽度值进行了硬编码...所以这显然也应该影响宽度......
我的问题是......是否有任何明智的方法来实现这一目标?也许以编程方式,当我知道当前设备的屏幕尺寸?
感谢大家!费利佩
================================================== ==更新的部分
嘿伙计们,感谢你们的帮助.
我根据建议添加了LinearLayout和重量,但我仍然没有得到我想要的东西.它几乎就在那里,但并不完全.
我的新xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="@dimen/actionbar_height"
android:orientation="horizontal"
android:gravity="center" android:weightSum="1">
<Button
android:id="@+id/btnLogin"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/button"
android:drawableLeft="@drawable/balloon_overlay_close"
android:gravity="center"
android:text="@string/bottonbar_earned"
android:layout_weight=".10"/>
<Button
android:id="@+id/btnLogin2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".10"
android:background="@drawable/button"
android:drawableLeft="@drawable/balloon_overlay_close"
android:gravity="center"
android:text="@string/bottonbar_inprogress" />
<Button
android:id="@+id/btnLogin3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:background="@drawable/button"
android:drawableLeft="@drawable/balloon_overlay_close"
android:gravity="center" android:text="@string/bottonbar_redeemed"
android:layout_weight=".90"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
这是结果链接 你能看到右侧的结尾吗?虽然我在第三个按钮上设置了0.90的重量,但我不认为重量是按照它应该分配的.你们有什么感想?
你可以做的是使用android:layout_weight按钮上的属性,但你需要将它们放入一个LinearLayout.如果你需要RelativeLayout,那么你可以把LinearLayout它放在里面.
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="1.0" >
<Button
android:text="left"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight=".30" />
<Button
android:text="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight=".40" />
<Button
android:text="right"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight=".30" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9728 次 |
| 最近记录: |