如何在嵌套的线性和相对布局中将图标和显示文本对齐为选取框?

时间:2017-02-10 07:29:09

标签: android android-layout android-studio

我的问题:

  1. 如何对齐布局,如下所示

  2. 我怎样才能在文本视图中接收类似于字幕文本(代替欢迎回来,John Doe)的动画,该文字从右向左滚动

  3. 目标

    enter image description here

    但是我无法在这里对齐图标,这就是我得到的: Screenshot_2

    enter image description here

    概念:

    这些是图标,只要收到通知或收到消息,就会以红色圆圈显示数字。

    在右侧,我希望以通知的形式显示取决于作为消息或文本收到的文本的文本。将其视为动态的,不断变化。

    我被困在这部分而且无法解决它。如果有人能帮我解决这个问题,我将感激不尽! 感谢

      

    <?xml version="1.0" encoding="utf-8"?>
    
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:id="@+id/activity_landing_page"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:paddingBottom="@dimen/activity_vertical_margin"
            android:paddingLeft="16dp"
            android:paddingRight="16dp"
        tools:context="com.thebitshoes.uocn.AdminHome"
            android:orientation="vertical"
            android:weightSum="2"    >
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="0.66"
            android:orientation="vertical"
            android:weightSum="1">
            <ImageView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:src="@mipmap/admin_bg_pic"
                android:layout_gravity="center_horizontal"
                android:layout_weight="1.22" />
            </LinearLayout>
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:weightSum="1"
            android:background="#737D8C">
    
            <RelativeLayout
                android:layout_width="0dp"
                android:layout_height="40dp"
                android:background="#3c424c"
                android:layout_weight="0.31">
    
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@mipmap/message_icon_new"
                    android:id="@+id/message_icon"
                    android:layout_centerVertical="true"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_marginLeft="18dp"
                    android:layout_marginStart="18dp" />
    
                <ImageView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@mipmap/notification_icon"
                    android:id="@+id/notification_icon"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentEnd="true" />
    
                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="Welcome Back, John Doe !"
                    android:textColor="#ffffff"
    
                    android:textSize="18sp"
                    />
            </RelativeLayout>
    
    
    
        </LinearLayout>
    
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1.34"
            >
    
    
        </LinearLayout>
    
    
    
    </LinearLayout>
    

2 个答案:

答案 0 :(得分:3)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/activity_landing_page"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:weightSum="2">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.66"
        android:orientation="vertical"
        android:weightSum="1">

        <ImageView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_weight="1.22"
            android:src="@mipmap/ic_launcher" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="#737D8C"
        android:orientation="horizontal">

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="40"
            android:background="#3c424c"
            android:orientation="horizontal">

            <ImageView
                android:id="@+id/message_icon"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:src="@drawable/add_event" />

            <ImageView
                android:id="@+id/notification_icon"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_weight="1"
                android:src="@drawable/add_notice" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="60"
            android:background="#3c424c"
            android:orientation="horizontal">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:padding="5dp"
                android:text="Welcome Back, John Doe !"
                android:textColor="#ffffff"
                android:textSize="18sp" />
        </LinearLayout>
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1.34" />
</LinearLayout>

答案 1 :(得分:0)

对于字幕代码,您可以查看Marquee text in Android

并且我不确定但是如果你使你的textview宽度与父母相匹配它应该没问题,但我不是100%肯定它。