[英]How do I show two text views next to each other
I have a Main Activity That has a Clickable Link that launches a Activity. 我有一个主要活动,它有一个可启动活动的可点击链接。 Right now what is showing is "Click Here" in a text view.
现在显示的是文本视图中的“单击此处”。 I would like to change it to : "To see Evacuation Routes - Click Here" With the "Click Here" being the underlined text.
我想将其更改为:“查看疏散路线 - 点击此处”,“点击此处”是带下划线的文本。 Below is the Code I currently have.
以下是我目前的代码。
activity_main.xml 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 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));
}
});
}
}
You can add a LinearLayout with orientation: "horizontal" and add both textviews in it. 您可以添加方向为“Horizontal”的LinearLayout,并在其中添加两个textview。
<LinearLayout
...
android:orientation="horizontal">
<TextView .../>
<TextView .../>
</LinearLayout>
So I found what I needed with minimal change only to the activity_main.xml and here it is. 所以我只需要对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>
So I added this code and it worked 所以我添加了这个代码并且它有效
如果要并排显示两个对象,请使用ndroid:layout_weight="2"
属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.