根据屏幕大小

时间:2016-03-10 04:22:46

标签: android

我正在尝试让TextView根据设备屏幕大小进行换行,以便底部的3按钮始终显示在屏幕底部。

The layout I'm trying to get

我尝试过来自here的解决方案,但ScrollView似乎不起作用。 3个按钮不可见。

The bad layout I'm getting :(

这是我的代码。谢谢你的阅读。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <ScrollView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        android:fillViewport="true">
        <TextView
            android:text="@string/default_tnc"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"     
            android:layout_weight="1.0"/>
    </ScrollView>
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="bottom">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:layout_alignParentBottom="true">
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button 1"/>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button 2"/>
            <Button
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Button 3"/>
        </LinearLayout>
    </RelativeLayout>
</LinearLayout>

4 个答案:

答案 0 :(得分:0)

将android:layout_weight =“1”添加到ScrollView并将ScrollView的高度更改为0 从您的TextView

中删除android:layout_weight =“1”
<ScrollView
            android:layout_width="fill_parent"
            android:layout_height="0dp"
            android:scrollbars="vertical"
            android:layout_weight="1.0"
            android:fillViewport="true">
            <TextView
                android:text="@string/default_tnc"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" // or wrap_content     
                />
  </ScrollView>

希望这个帮助

答案 1 :(得分:0)

这就是您所需要的,只需复制并粘贴

即可
   <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">

<ScrollView
    android:id="@+id/scroll_view"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:scrollbars="vertical"
    android:layout_above="@+id/ll_layout"
    android:padding="10dp"
    android:layout_weight=".8">
    <TextView
        android:text="@string/temp_txt"
        android:textColor="@android:color/black"
        android:background="@android:color/white"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="30dp"
        />
   </ScrollView>


    <LinearLayout
        android:layout_width="match_parent"
        android:id="@+id/ll_layout"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:layout_alignParentBottom="true">
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dp"
            android:layout_weight="1"
            android:text="Button 1"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="20dp"
            android:layout_weight="1"
            android:text="Button 2"/>
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:textSize="20dp"
            android:text="Button 3"/>
    </LinearLayout>
</RelativeLayout>

答案 2 :(得分:0)

您可以使用RelativeLayout

empid

答案 3 :(得分:0)

不要使用LinearLayout作为主要父级,而是使用RelativeLayout。然后只需使用ScrollView中的layout_above属性将其设置为高于。

ativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/id_rl_below"
        android:layout_alignParentTop="true"
        android:scrollbars="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1.0"
            android:text="asdhgfahgdsashgaweatlweiutnwaueytluwae ytbluwae ytbluewzybltuewzsyb tzsydgzlu ybeutzybwlutvybwelutyvzewuiybtuwzey btuzwey tluiwg usdbugdslyuggjzsg zsdg sd mgzsdnzsntzsetxseyuxtrutfru xtfrunftu nxut uctr mxr untrxuxdumtrrumxrtmuxrumnrxtumn"
            android:textSize="50dp" />

    </ScrollView>

    <LinearLayout
        android:id="@id/id_rl_below"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:orientation="vertical">

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

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 2" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button 3" />

    </LinearLayout>

</RelativeLayout>

了解有关如何使用RelativeLayouts的更多信息。您可以查看官方Android开发者网站 - RelativeLayout.LayoutParams。希望这可以帮助。 :)