如何显示彼此相邻的两个文本视图

时间:2013-06-14 15:43:12

标签: java android eclipse textview android-sdk-2.3

我有一个主要活动,它有一个可启动活动的可点击链接。现在显示的是文本视图中的“单击此处”。我想将其更改为:“查看疏散路线 - 点击此处”,“点击此处”是带下划线的文本。以下是我目前的准则。

activity_main.xml中

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
<TextView  android:id="@+id/txtView1"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txtView_5"
    android:text="" 
    android:textSize="20sp"
    android:textStyle="bold"/>
</RelativeLayout>

MainActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    boolean isGPS = lm.isProviderEnabled(LocationManager.GPS_PROVIDER);
    AsyncRouteNames asyncRouteNames = new AsyncRouteNames();
    asyncRouteNames.execute();




    String mapStr = "Click Here";
    SpannableString mapContent = new SpannableString(mapStr);
    mapContent.setSpan(new UnderlineSpan(), 0, mapStr.length(), 0);
    final TextView mapTxtView = (TextView) findViewById(R.id.txtView1);
    mapTxtView.setText(mapContent);
    mapTxtView.setTextColor(Color.BLUE);
    Linkify.addLinks(mapTxtView, Linkify.ALL);      
    ConnectivityManager cm = (ConnectivityManager)this.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    boolean isMobile = false;
    if (activeNetwork != null && activeNetwork.isConnected()){
        isMobile = true;
    }

    if (isMobile){
        mapTxtView.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                MainActivity.this.startActivity(new Intent(MainActivity.this, EvacRouteTableActivity.class));
            }
        });
    } else {
        mapTxtView.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                MainActivity.this.startActivity(new Intent(MainActivity.this, NoConnectionActivity.class));
            }
        });         
    }



}

3 个答案:

答案 0 :(得分:9)

您可以添加方向为“Horizo​​ntal”的LinearLayout,并在其中添加两个textview。

<LinearLayout
         ...
         android:orientation="horizontal">
       <TextView .../>
       <TextView .../>
</LinearLayout>

答案 1 :(得分:2)

所以我只需要对activity_main.xml进行最小的更改即可找到我需要的内容,而这里是。

<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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <TextView android:id="@+id/textView1_1" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:singleLine="true" 
        android:text="To view Evacuation Routes - "
        android:textSize="20sp"
  android:textStyle="bold" 
        android:layout_marginRight="5dp"/>

    <TextView  android:id="@+id/txtView1"
  android:layout_width="wrap_content" 
  android:layout_height="wrap_content" 
  android:text="" 
        android:layout_toRightOf="@id/textView1_1"
  android:textSize="20sp"
  android:textStyle="bold"
  android:layout_alignParentRight="true"/>

</RelativeLayout>

所以我添加了这段代码并且有效

答案 2 :(得分:0)

如果要并排显示两个对象,请使用ndroid:layout_weight="2"属性。