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));
            }
        });         
    }



}
4

3 回答 3

10

您可以添加带有方向的LinearLayout:“水平”并在其中添加两个文本视图。

<LinearLayout
         ...
         android:orientation="horizontal">
       <TextView .../>
       <TextView .../>
</LinearLayout>
于 2013-06-14T15:47:59.130 回答
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>

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

于 2013-06-14T17:57:44.130 回答
0

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

于 2013-06-14T15:59:06.680 回答