我在Android应用程序中有一个弹出视图。对于纵向屏幕,弹出页面显示正常,但如果我旋转屏幕以横向显示弹出布局部分显示。我在弹出窗口中点击了按钮。无法在横向模式下查看按钮。我正在使用的弹出页面是
<?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/popup_element"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#333333"
android:gravity="center"
android:orientation="vertical"
tools:ignore="ButtonStyle" >
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/choose_emotion"
android:textColor="@color/white"
android:textSize="20sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/emo_sad"
android:layout_width="83dp"
android:layout_height="83dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:background="@drawable/sky_ring"
android:text="@string/emo_sad"
android:textColor="@color/white"
android:textSize="12sp" />
<Button
android:id="@+id/emo_happy"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/yellow_ring"
android:text="@string/emo_happy"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/emo_depressed"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/blue_ring"
android:text="@string/emo_depressed"
android:textColor="@color/white"
android:textSize="12sp" />
<Button
android:id="@+id/emo_question"
android:layout_width="83dp"
android:layout_height="83dp"
android:layout_margin="8dp"
android:background="@drawable/gray_ring_question"
android:textColor="@color/white"
android:textSize="12sp" />
<Button
android:id="@+id/emo_anxious"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/orange_ring"
android:text="@string/emo_anxious"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/emo_neutral"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/white_ring"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:text="@string/emo_neutral"
android:textColor="@color/white"
android:textSize="12sp" />
<Button
android:id="@+id/emo_angry"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/red_ring"
android:text="@string/emo_angry"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_done_popup"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginBottom="20dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:text="@string/done_btn"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_close_popup"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginBottom="20dp"
android:text="@string/cancel_btn"
android:textColor="@color/white" />
</LinearLayout>
</LinearLayout>
如何在横向屏幕或小屏幕中显示整个页面?任何帮助,将不胜感激。提前谢谢。
答案 0 :(得分:2)
你不能在scrollview中设置多个LinearLayout但是如果你想要将所有的linearlayout放在Linearlayout中并将其放在scrollview中
使用 ScrollView
包裹线性布局请参阅此处Example
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<!-- Content here -->
</LinearLayout>
</ScrollView>
</LinearLayout>
答案 1 :(得分:2)
选中此项我使用了您的xml(更改背景): -
func generateQuestion() {
var randomoperation:UInt32 = arc4random_uniform(3)
if randomoperation == 0 {
operation.text = "+"
}
if randomoperation == 1 {
operation.text = "-"
}
if randomoperation == 2 {
operation.text = "X"
}
if randomoperation == 3 {
operation.text = "/"
}
}
答案 2 :(得分:2)
尝试这个,因为你知道ScrollView只能有一个孩子,所以你把ScrollView作为父布局,然后一个孩子将是线性布局,然后这将工作。试试这样:
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:id="@+id/popup_element"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#333333"
android:gravity="center"
android:orientation="vertical"
tools:ignore="ButtonStyle" >
<TextView
android:id="@+id/textView6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/choose_emotion"
android:textColor="@color/white"
android:textSize="20sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dp"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/emo_sad"
android:layout_width="83dp"
android:layout_height="83dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:background="@drawable/sky_ring"
android:text="@string/emo_sad"
android:textColor="@color/white"
android:textSize="12sp" />
<Button
android:id="@+id/emo_happy"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/yellow_ring"
android:text="@string/emo_happy"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/emo_depressed"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/blue_ring"
android:text="@string/emo_depressed"
android:textColor="@color/white"
android:textSize="12sp" />
<Button
android:id="@+id/emo_question"
android:layout_width="83dp"
android:layout_height="83dp"
android:layout_margin="8dp"
android:background="@drawable/gray_ring_question"
android:textColor="@color/white"
android:textSize="12sp" />
<Button
android:id="@+id/emo_anxious"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/orange_ring"
android:text="@string/emo_anxious"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:gravity="center"
android:orientation="horizontal" >
<Button
android:id="@+id/emo_neutral"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/white_ring"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:text="@string/emo_neutral"
android:textColor="@color/white"
android:textSize="12sp" />
<Button
android:id="@+id/emo_angry"
android:layout_width="83dp"
android:layout_height="83dp"
android:background="@drawable/red_ring"
android:text="@string/emo_angry"
android:textColor="@color/white"
android:textSize="12sp" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_done_popup"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginBottom="20dp"
android:layout_marginEnd="5dp"
android:layout_marginRight="5dp"
android:text="@string/done_btn"
android:textColor="@color/white" />
<Button
android:id="@+id/btn_close_popup"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:layout_marginBottom="20dp"
android:text="@string/cancel_btn"
android:textColor="@color/white" />
</LinearLayout>
但是最好使用RelativeLayout而不是使用这么多的linearlayout。希望它有所帮助。
答案 3 :(得分:1)
ScrollView是 FrameLayout ,意思是你必须在其中放置一个孩子,其中包含要滚动的全部内容;这个孩子本身可能是一个具有复杂的对象层次结构的布局管理器。
所以你必须通过概念清除解决问题follow my answer of this question。它可能会清除你的概念并帮助解决你的问题。
您只能在scrollview中使用单个标记(子布局)。如果您已经放置了多个线性布局,则采用单个线性布局,然后将其他线性布局放入其中。