Gridlayout中的TextView出现在屏幕外

时间:2016-03-27 10:01:39

标签: android android-layout

我正在创建一个Android应用程序,用于显示我所在城市可用的所有服务的联系方式。我在我的城市导航应用中使用抽屉。但是具有较长文本(例如Adress)的TextView会退出屏幕。所以请帮助我,以便TextView适合在屏幕上。 以下是我的活动代码:

split(dataset["vari.pred"])

3 个答案:

答案 0 :(得分:1)

将此添加到TextView&#39>

android:ellipsize="end" 
android:maxLines="1"

这样做,如果你的文字很长,它会以点的形式显示。 例如:Nadim Shaikh将是Nadim SH ......

答案 1 :(得分:1)

将以下属性添加到TextView元素:

android:layout_width="0dp"
android:layout_gravity="fill_horizontal"

这将使TextView s填充单元格的宽度,而不是更远。

我在这里的灰色标签上应用了它: Sample

答案 2 :(得分:-1)

在android中执行此类操作的最佳方法是在运行时使用html ...

例如在xml中只需将WebView保留在Relative布局中..

<RelativeLayout 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">
    <WebView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/web"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentTop="true"/>
</RelativeLayout>
java代码中的

执行此操作:

String name="...",address="...";
Webview web = (WebView)findViewById(R.id.web);
 String html = "<html>\n" +
               "<body>\n" +
               "<h4>Name:</h4>" +  //name as heading 
                name +     // here the name you like to add
               "\n" +
               "<hr>" +
               "<h4>address</h4>" + //address as heading 
               address +   //here the address you like to add
               "\n" +
               "<hr>" +  //line
               "</body>\n" +
               "</html>";
//in this same way you can add as many items you want
web.loadData(html, "text/html; charset=UTF-8", null);

我知道你希望通过在xml中使用一些布局来实现这一点,但我相信这是最好的方法,因为在这种情况下你也可以做出更好的设计.. 在运行时,您可以根据需要添加姓名,地址和联系人。