【问题标题】:Elements of the layout not showing in phone auto-rotate mode布局元素未在手机自动旋转模式下显示
【发布时间】:2018-04-30 00:44:25
【问题描述】:

我正在攻读 Udacity Android 基础课程。我正在为下面解释的项目而苦苦挣扎。我只使用基本知识,所以请不要对代码的简单性感到惊讶。 :)) 我渴望了解如何定位元素,以便它们使用 RelativeLayout 出现在每个手机定位模式中。

您可以找到 XML here

有两个应用程序的屏幕截图以纵向和自动旋转显示。肖像看起来不错,但在自动旋转时显示的一半信息消失了。

我的第二个问题与可点击元素有关。有一次,我让它们可点击,它们变成了红色并带有下划线。这是常见的还是我应该用另一种说法来抵消它?

这是我的GitHub project。 任何帮助表示赞赏。

谢谢, 伊娃

【问题讨论】:

    标签: android android-layout


    【解决方案1】:

    对于您的第一期纵向和横向尝试将您的视图内容放在滚动视图中,以便当视图高度大于屏幕高度时屏幕内容可以滚动(在纵向和横向模式下)

    以您的代码为例

    <ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.android.helloandroid.MainActivity"
    android:background="#03B3E4">
      <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
    
           Add Your Contents Here ...
    
      </LinearLayout>
    
    </ScrollView>
    

    第二个问题 android:autoLink="" 的 Textviews 总是从项目中 styles.xml 中的 colorAccent 中获取颜色,如果它有可以链接的文本,如网站、移动设备或地图

    您可以通过添加android:textColorLink="yourcolorhere"来更改文本颜色 到你的文本视图

    谢谢

    【讨论】:

    • 这太棒了!谢谢,MGRAGAB。我现在将测试 LinerLayout 的 ScrollView 选项。但是有没有办法在使用RelativeLayout时克服这个问题?谢谢
    • 你可以把你的RelativeLayout放在滚动视图里面的LinearLayout里面
    【解决方案2】:

    对于自动旋转,您可以为您的应用 locking screen rotation 锁定旋转。您可以使用其他开发人员建议的任何方法。

    但是如果你想为你的应用添加横向,那么你必须为它定义一个单独的 XML 布局文件。您可以通过创建一个 layout-landdirectory 通过右键单击res 下的layout 并将横向版本的布局 XML 文件放在该目录中。你也可以参考这个答案来获得一些帮助handle screen rotation without losing data in android

    来到问题的第二部分,如果您让一个元素可点击,那么它应该变成红色并带有下划线。我不确定您如何使它们可点击,但要使元素在 Click 上执行功能,只需声明该元素并定义它。然后您可以为其设置一个 OnClick 侦听器。你可以在这里看到一个例子making a button clickable。您也可以尝试使用此代码使按钮可点击:

     Button btn= (Button) findViewById(R.id.button_main);
        btn.setClickable(true);
    

    【讨论】:

    • 谢谢,Anuj Bansal。我不知道横向方向需要单独的文件,但这解释得更好。无论如何,可点击的文本,它不是一个按钮,而只是像网站、电话和地址这样的文本。我现在看看“使按钮可点击”是否适用于后者。
    • 很高兴我能帮上忙。是的,我们必须为横向模式创建单独的文件,这样我们才能在横向模式下精确定义应用程序界面。此外,如果您想将点击功能添加到文本视图,也可以以相同的方式完成。编码快乐!!!
    • 为了避免像后者这样的可点击元素出现红色文本,我发现了这个并由 MGRagab 建议工作:android:textColorLink
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-17
    • 1970-01-01
    相关资源
    最近更新 更多