这是我想要实现的目标:
以下是我尝试的方式:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/padd_loading_btn"
android:layout_marginBottom="@dimen/padd_loading_btn" >
<View
android:layout_width="65dp"
android:layout_height="1dp"
android:layout_gravity="center_vertical"
android:background="@android:color/darker_gray" />
<TextView
android:id="@+id/orLoginWithEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_weight="1"
android:gravity="center_vertical"
android:text="@string/orlogin_withEmail"
android:textSize="12sp" />
<View
android:layout_width="65dp"
android:layout_height="1dp"
android:layout_gravity="center_vertical"
android:background="@android:color/darker_gray" />
</LinearLayout>
这对于我的高清显示器看起来不错,但对于其他人看起来很糟糕。
如何根据需要进行文本换行,然后将分隔线对齐?
P.S。当然我可以设置一个相对布局和内部设置一个分隔符来填充宽度,textview上面带有填充的白色背景,但我不认为这是最好的解决方案。
答案 0 :(得分:3)
试试这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/padd_loading_btn"
android:layout_marginBottom="@dimen/padd_loading_btn" >
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_gravity="center_vertical"
android:layout_weight="1"
android:background="@android:color/darker_gray" />
<TextView
android:id="@+id/orLoginWithEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:gravity="center_vertical"
android:text="@string/orlogin_withEmail"
android:textSize="12sp" />
<View
android:layout_width="0dp"
android:layout_height="1dp"
android:layout_weight="1"
android:layout_gravity="center_vertical"
android:background="@android:color/darker_gray" />
</LinearLayout>
答案 1 :(得分:1)
您可以尝试使用以下代码,您可以更改TextViews以进行查看。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:background="#cccccc" />
<TextView android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.8"
android:gravity="center_horizontal"
android:background="#ffffff"
android:text="Hello Android" />
<TextView android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.1"
android:background="#cccccc" />
</LinearLayout>
这是输出
答案 2 :(得分:0)
尝试使用FrameLayout,记得将后视图的宽度设置为&#34; match_parent&#34;和TextView的背景为null或white,并给你的TextView paddingLeft和paddingRight来达到你想要的效果
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/padd_loading_btn"
android:layout_marginBottom="@dimen/padd_loading_btn" >
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_gravity="center_vertical"
android:background="@android:color/darker_gray" />
<TextView
android:id="@+id/orLoginWithEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:layout_gravity="center"
android:background="@android:color/white"
android:text="@string/orlogin_withEmail"
android:textSize="12sp" />
</FrameLayout>