我的目标是布局类似于原生计算器应用程序。我希望文本在屏幕左侧跟踪而不移动右侧的按钮。目前,我的文字向左移动,直到填满屏幕,此时按钮被推离右边缘。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:layout_weight="1"
android:gravity="right"
android:orientation="horizontal" >
<HorizontalScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:scrollbars="none" >
<TextView
android:id="@+id/display_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:singleLine="true"
android:textColor="@android:color/white"
android:textIsSelectable="true"
android:textSize="30sp" />
</HorizontalScrollView>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/delete_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onDelete"
android:text="@string/delete_button" />
<Button
android:id="@+id/equate_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="onEquate"
android:text="@string/equate_button" />
</LinearLayout>
</LinearLayout>
答案 0 :(得分:0)
您不需要将TextView
放入HorizontalScrollView
,当文字超出界限时,它会自动变为可滚动。请参阅文档:http://developer.android.com/reference/android/widget/TextView.html#attr_android:scrollHorizontally
只需将android:scrollHorizontally="true"
添加到布局中的TextView
即可。
您可能还需要将文本视图的layout_weight更改为0或将其layout_width设置为固定的(例如100dp)。
要使文本从右向左,请将TextView上的重力设置为android:gravity="right|center_vertical"
我也谦虚地向您推荐您试图模仿的计算器应用程序的来源:https://github.com/android/platform_packages_apps_calculator/tree/master/src