我关注了Hello Views,谷歌地图视图,现在我想TextView在下面添加一个MapView.我只是改变了布局文件main.xml,并放在MapView与TextView垂直LinearLayout.我的Eclipse设置为自动构建它,但是当我在模拟器中运行应用程序时,我只能看到它MapView.
我怎样才能添加TextView下面的MapView?
这是我的布局main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.google.android.maps.MapView
android:id="@+id/mapview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="true"
android:apiKey="my key"
/>
<TextView
android:id="@+id/textview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="My TextView"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我有一个ImageView,我已经包装在LinearLayout中.LinearLayout有一个背景drawable,它基本上是一个边框,所以效果是我的图像周围有一个边框.
然而,无论我尝试什么,我的图像下面都会有一大块空白空间,这会将我的LinearLayout的下边缘向下推.我希望LinearLayout在没有填充的情况下紧紧包裹图像(除了我指定的1sp)
这就是我如何定义这两者
<LinearLayout
a:orientation="vertical" a:layout_width="wrap_content"
a:layout_height="wrap_content"
a:gravity="top"
a:padding="1sp"
a:background="@drawable/heading_background">
<ImageView a:src="@drawable/photo"
a:layout_width="wrap_content"
a:layout_height="wrap_content"
a:scaleType="fitStart"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我做错了什么?
谢谢
我有一个线性布局(水平),里面有3个线性布局,每个布局都有一个文本视图.
现在我想平等地划分这些线性布局.所以我给他们增加了重量1.它很完美.
但是现在当它们内部的文字宽度变化时,它们的重量不再相等:(
比如任何线性布局我删除了文本,或写了一个较小的文本或不同长度的文本然后它失去了相等的分布.如何使布局均匀分布.
还有一件事我想知道文本宽度增加了这些布局的最大分配宽度(这些将动态地给出可能是通过做宽度= 1),然后我如何将文本移动到下一行.
在我的应用程序中,我使用此行夸大了ListView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:gravity="center"
android:orientation="horizontal" android:layout_height="wrap_content"
android:id="@+id/rootrow_layout" android:clickable="true"
android:focusable="true" android:focusableInTouchMode="true">
<LinearLayout android:layout_height="fill_parent"
android:id="@+id/containerHistory" android:layout_width="fill_parent"
android:layout_weight="1">
<LinearLayout android:layout_weight="1"
android:orientation="vertical" android:layout_gravity="center"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_marginLeft="2dip">
<LinearLayout android:id="@+id/LinearLayout02"
android:layout_height="wrap_content" android:layout_width="fill_parent">
<TextView android:textSize="16sp" android:gravity="left"
android:padding="5dp" android:layout_width="fill_parent"
android:text="Unknown location " android:id="@+id/historyLocation"
android:layout_height="wrap_content" android:textColor="#000000"></TextView>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout03"
android:layout_height="wrap_content" android:layout_width="fill_parent">
<TextView android:layout_weight="1" android:textSize="12sp"
android:gravity="left" android:padding="5dp" android:layout_width="fill_parent"
android:text="Complete" android:typeface="serif" android:id="@+id/historyDate"
android:layout_height="wrap_content" android:textColor="#000000"></TextView>
</LinearLayout>
<LinearLayout android:id="@+id/LinearLayout04"
android:layout_height="wrap_content" android:layout_width="wrap_content"></LinearLayout>
</LinearLayout>
</LinearLayout>
<LinearLayout android:orientation="vertical"
android:layout_marginRight="2dip" android:id="@+id/linearLayout1"
android:layout_height="match_parent" android:layout_width="wrap_content">
<CheckBox android:id="@+id/check" android:layout_gravity="center"
android:layout_height="fill_parent" android:layout_width="wrap_content"></CheckBox>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
现在我将在我的根布局上添加一个事件(OnClickListener).我可以得到事件,但我看不到默认选择器(例如我有Galaxy S2,点击列表我有蓝色背景).
我可以在LinearLayout点击事件上设置默认选择器吗? …
我有一个包含两个图像按钮的列表标题.我希望其中一个图像按钮位于左侧,另一个位于右侧.这就是我的xml文件现在看起来像但它不起作用,它只是将左边的两个图像按钮放在一起.我也试过没有额外的LinearLayouts但没有运气.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="fill_horizontal"
android:background="@drawable/list_header_background">
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="left"
android:background="@drawable/list_header_background">
<ImageButton
android:id="@+id/refreshBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:src="@drawable/ic_refresh"
android:background="@drawable/list_header_background"
/>
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="right"
android:background="@drawable/list_header_background">
<ImageButton
android:id="@+id/battleBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="4dp"
android:src="@drawable/ic_battle"
android:background="@drawable/list_header_background"
/>
</LinearLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 我在运行时将按钮添加到LinearLayout(垂直方向)......
private void addButtons(String[] titles) {
for (String title : titles) {
Button button = ButtonBuilder.getButton(getActivity());
button.setText(title);
mButtonsLayout.addView(button);
}
}
Run Code Online (Sandbox Code Playgroud)
每个按钮都有一个用XML定义的样式.
<!-- styles.xml -->
<style name="Button">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:gravity">center</item>
<item name="android:layout_margin">8dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
虽然我定义了layout_margin所有按钮彼此相邻但没有任何间距.如何在它们之间添加边距?
正如nmw所建议的那样,我试图将父布局引入inflater.
private void addButtons(String[] titles) {
for (String title : titles) {
Button button = ButtonBuilder.getButton(getActivity(), mButtonsLayout);
button.setText(title);
mButtonsLayout.addView(button);
}
}
Run Code Online (Sandbox Code Playgroud)
..
// ButtonBuilder.java
public static Button getButton(Activity activity, ViewGroup parent) {
return (Button)activity.getLayoutInflater().inflate(R.layout.custom_button, …Run Code Online (Sandbox Code Playgroud) 我创建在我的应用程序的布局,其包括以下内容:
main_layout(FrameLayout,填满整个屏幕)
- >包括:main_interface(LinearLayout,高度/宽度填充亲本)
现在我想LinearLayout在main_layoutBEFORE中添加另一个main_interface.我试过这个:
LinearLayout bar = new LinearLayout(this);
bar.setGravity(Gravity.TOP);
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT);
bar.setLayoutParams(params);
main_layout.addView(bar);
Run Code Online (Sandbox Code Playgroud)
但这只是重叠我的main_interface.
任何帮助?
我做了一个简单的布局xml文件.我一直在解决我的问题.我正在使用scrolview,linearlayout和tableview.我有一个顶栏,它被锁在顶部.它永远不会移动.在中间,我有一个scrollview,我需要将我的最后一个linearlayout作为页脚放在底部,如果用户向下滚动,我不希望它消失.我希望它被锁定在那里.
这是我的代码
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:background="@drawable/gradient"
android:gravity="center">
.......
</TableRow>
</TableLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/sw_layout"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#EEEEEE" >
<TableRow
android:id="@+id/tableRowDate"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
..........
</TableRow>
</TableLayout>
/*****************************************/
/* I want this to be footer at the bottom*/
/*****************************************/
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<Button
android:id="@+id/btn_date"
android:layout_height="35dp"
android:padding="5dp"
android:drawableLeft="@drawable/calendar"
android:text="Tarih" />
<Button
android:id="@+id/btn_converter"
android:layout_height="35dp"
android:padding="5dp"
android:drawableLeft="@drawable/calendar"
android:text="Hesap" />
</LinearLayout>
/*****************************************/
/* I want …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用LinearLayout中的复选框创建一些文本视图.我想得到这样的结果:
TextView Ckeckbox
TextViewwwwww Ckeckbox
TextV Ckeckbox
Run Code Online (Sandbox Code Playgroud)
但目前我有这个:
TextView Checkbox
TextViewwwww Checkbox
TextView Checkbox
Run Code Online (Sandbox Code Playgroud)
这是我的xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:orientation="horizontal">
<TextView
android:id="@+id/itemTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<CheckBox
android:id="@+id/checkItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
而这个xml给了我相同的结果:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:orientation="horizontal">
<TextView
android:id="@+id/itemTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="start"/>
<CheckBox
android:id="@+id/checkItem"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="end"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud) 在LinearLayout上使用重力使按钮正确居中:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/new"
android:paddingLeft="40dp"
android:paddingRight="40dp"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但是在Button上使用layout_gravity = center只能使按钮水平而不是垂直居中,为什么?
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TEST"
android:paddingLeft="40dp"
android:paddingRight="40dp"
android:layout_gravity="center"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)