如何在另一个视图的边框上居中查看?

时间:2018-02-12 19:38:17

标签: android user-interface layout

我环顾四周,找不到答案。我正在构建我的Android应用程序之一,但无法找到实现此目的的方法:iOS App Screenshot

我在iOS上轻松做到了,但我遇到了Android问题。任何帮助,将不胜感激。谢谢!

这就是我目前在Android应用上的内容:Android App Screenshot

cmake -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..

2 个答案:

答案 0 :(得分:0)

要实现此外观,您可以将以下代码行添加到shockTimerButton视图中:

android:layout_marginEnd="8dp" 

使用了8dp,因为这是activityCountTextView视图宽度的一半。

所以最终的解决方案看起来像这样:

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="8dp"
android:layout_weight="1"
android:background="@color/chronoBgColor"
android:orientation="horizontal">

<TextView
    android:id="@+id/shockTimerTextView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1"
    android:fontFamily="sans-serif-heavy"
    android:gravity="center"
    android:text="00:00:00"
    android:textColor="@color/chronoFontColor"
    android:textSize="36sp"
    android:typeface="monospace" />

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="1">

    <Button
        android:id="@+id/shockTimerButton"
        style="@style/Widget.AppCompat.Button.Borderless"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:background="@color/shockColor"
        android:fontFamily="sans-serif-light"
        android:text="SHOCK"
        android:layout_marginEnd="8dp"
        android:textColor="@android:color/white"
        android:textSize="24sp"/>

    <TextView
        android:id="@+id/activityCountTextView"
        android:layout_width="16dp"
        android:layout_height="25dp"
        android:layout_gravity="center_vertical|right"
        android:background="@android:color/black"
        android:gravity="center"
        android:text="0"
        android:includeFontPadding="false"
        android:textColor="@android:color/white"
        android:textSize="24sp" />
</FrameLayout>

</LinearLayout>

答案 1 :(得分:0)

您可以尝试以下方法:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:padding="16dp"
        android:weightSum="2">

        <TextView
            android:id="@+id/shockTimerTextView"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:fontFamily="sans-serif-heavy"
            tools:text="00:00:00"
            android:textColor="@android:color/darker_gray"
            android:textSize="36sp"
            android:typeface="monospace" />

        <Button
            android:id="@+id/shockTimerButton"
            style="@style/Widget.AppCompat.Button.Borderless"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:background="@color/colorAccent"
            android:fontFamily="sans-serif-light"
            tools:text="SHOCK"
            android:layout_gravity="center"
            android:textColor="@android:color/white" />

    </LinearLayout>

    <TextView
        android:id="@+id/activityCountTextView"
        android:layout_width="24dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|end"
        android:background="@android:color/black"
        android:gravity="center"
        android:layout_marginEnd="4dp"
        android:textColor="@android:color/white"
        android:textSize="24sp"
        tools:text="0" />

</FrameLayout>

这会产生:

enter image description here

祝你好运,快乐的编码!