【问题标题】:How would I create this layout我将如何创建此布局
【发布时间】:2016-09-28 09:58:06
【问题描述】:

我知道这可能不是最好的标题,所以如果你有更好的标题,请编辑。

好的,所以我有一个我想在 android 中创建的部分设计的模型,我将在下面发布。

我不是最擅长使用自定义形状的,所以我想我可能会走Images with clickable areas 的路线。这意味着我只需导入图像并监控用户是否单击屏幕的某个部分。

最好的方法是什么?

如果用 XML 更好地创建它,你有一个很好的教程,你可以指点我。

谢谢

【问题讨论】:

  • 创建一个RelativeLayout作为主布局。接下来添加LinearLayout(垂直),其中将包含两个水平布局。并添加 Imageview(设置为 alignCenterinparent=true 关闭相对之前的圆形类型
  • 听起来不错的方法,我会先给出。

标签: android android-layout android-xml android-shape


【解决方案1】:

这可能会有所帮助

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="2">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:weightSum="2"
        android:orientation="horizontal">

        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="Button 1"/>

        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="Button 2"/>


    </LinearLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:weightSum="2"
        android:orientation="horizontal">

        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="Button 3"/>

        <Button
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="Button 4"/>

    </LinearLayout>

</LinearLayout>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:background="@drawable/circle"/></RelativeLayout>

将此文件保存在可绘制文件夹中,用于名为圆形的圆形按钮背景

<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">

<size android:width="200dp" android:height="200dp" />
<solid android:color="@android:color/holo_red_light" /></shape>

看起来像这样

【讨论】:

  • 看起来不错。谢谢。出于某种原因,圆形没有在设计器中渲染,但我必须找出问题所在。(我有一个名为圆形的形状)但是非常感谢,我会将其标记为答案:)(现在已经渲染... .新的 android studio 有点小问题)
  • 您的圈子有问题吗?只需在 res 中创建可绘制文件夹并在其中保留一个用于圆形背景的 xml 文件,比如说 circle.xml 并将此代码保留在其中。代码:schemas.android.com/apk/res/android" android:shape="oval">
  • 将此文件作为背景添加到中心按钮,如布局文件所示
  • 是的,它好的 android studio 没有渲染它,但现在可以了,再次感谢
【解决方案2】:

这是一个经过全面测试的布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <Button
        android:id="@+id/btn_1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="Button one"/>

    <Button
        android:id="@+id/btn_2"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@id/btn_1"
        android:text="Button two"/>

    <Button
        android:id="@+id/btn_3"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:text="Button three"
        android:layout_below="@id/btn_1"/>

    <Button
        android:id="@+id/btn_4"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_below="@id/btn_2"
        android:layout_toRightOf="@id/btn_3"
        android:text="Button four"/>

    <ImageView
        android:id="@+id/logo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:translationZ="10dp"
        android:src="@drawable/ti_logo"/>

</RelativeLayout>

【讨论】:

    【解决方案3】:

    @SammyG 你可以根据你的要求在这个布局中编辑..

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.stackoverflow_test.MainActivity">
    
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:weightSum="2">
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">
    
            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="@android:color/holo_green_dark"
                android:padding="20dp" />
    
            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="@android:color/black"
                android:padding="20dp" />
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:orientation="horizontal">
    
            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="@android:color/holo_red_dark"
                android:padding="20dp" />
    
            <TextView
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:background="@android:color/holo_blue_bright"
                android:padding="20dp" />
        </LinearLayout>
    </LinearLayout>
    
    <ImageView
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerInParent="true"
        android:background="@mipmap/ic_launcher" /></RelativeLayout>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-06
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 1970-01-01
      相关资源
      最近更新 更多