我有以下基本布局
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/title_bar_background">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textAppearance="?android:attr/textAppearanceLarge"
android:padding="10dp"
android:text="HELLO WORLD" />
</LinearLayout>
<LinearLayout>
Run Code Online (Sandbox Code Playgroud)
似乎xml是正确的,但文本是左对齐的.textview占用父级的整个宽度,textview设置为居中.不确定是什么问题...
我有一个多行EditText
:
<EditText
android:layout_gravity="center"
android:id="@+id/txtMessage"
android:layout_height="wrap_content"
android:layout_below="@+id/lblMessage"
android:layout_width="wrap_content"
android:width="250dip"
android:text=""
android:maxLength="760"
android:lines="4">
</EditText>
Run Code Online (Sandbox Code Playgroud)
现在内容与中间对齐.我希望将内容与顶部对齐如下:
垂直对齐的文本示例http://img28.imageshack.us/img28/3972/edittext.png
有没有财产可以做到这一点?
我的应用程序中有一个EditText.我想将其中的文本对齐而不是默认左侧.我尝试添加
android:layout_gravity="right"
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.还有其他建议吗?
android:textAlignment
和之间有什么区别android:gravity
?
这是我的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:layout_marginLeft="5dip" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textColor="#ffffff" >
</TextView>
</LinearLayout>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:id="@+id/nazajGumb"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/roaming_backbtn" >
</Button>
<Button
android:id="@+id/homeBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right"
android:text="@string/roaming_homebtn" >
</Button>
</LinearLayout>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="15dip"
android:prompt="@string/roaming_spinnerPrompt" />
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="Random text"
android:textColor="#ffffcc" />
<Button
android:id="@+id/testBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="test" >
</Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
LinearLayout2中的ImageView和TextView的位置以及LinearLayout3中按钮的positiong不起作用(使用布局重力). …
我想将我的LinearLayout集中在ScrollView中.当LinearLayout的高度很小时,它居中(参见图像#1)但是当LinearLayout的高度大于屏幕的高度时,它表现得很奇怪.我看不到LinearLayout的顶部(见图2),ScrollView的底部有巨大的填充.我不知道这里发生了什么.当LinearLayout中有大量内容时,整个屏幕应如图3所示.
Here's my layout file:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#cccfff" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_margin="28dp"
android:background="#ffffff"
android:orientation="vertical"
android:paddingBottom="40dp"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="40dp" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/tip_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="12dp"
android:text="Title"
android:textColor="@color/orange_text"
android:textSize="@dimen/font_size_medium" />
<TextView
android:id="@+id/tip_description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Description description..."
android:textSize="@dimen/font_size_small" />
</LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud) 我一直在研究android xml的.我习惯于android:layout_gravity="center"
在特定位置对齐组件.
现在有一天,当我在像Activity这样的Dialog上工作时,我遇到了android:gravity="center"
.我在那里找到的,gravity
用于使其child
与特定位置对齐.
我会分享一个例子,
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_vertical"
android:orientation="vertical" >
<EditText
android:id="@+id/enterNumberEdit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:hint="Enter No." >
<requestFocus />
</EditText>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
它使LinearLayout
中心的孩子对齐.
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:orientation="vertical"
android:background="@drawable/dialog_background" >
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
它将LinearLayout
自身对准中心.
现在我的问题是:
gravity
适用于子组件并且layout_gravity
是父组件.gravity
结束layout_gravity
.到目前为止,我已经找到了很多关于xml的解释.我想听听更好的解释.如果我错了,请告诉我
我有以下问题:我实现了一个HorizontalScrollView
包含一个案例a LinearLayout
和一个ImageView
.在这种情况下,图像大约是屏幕宽度的50%.所以我想把它集中在一起.不幸的是,我找到它的唯一方法是,使用layout_gravity="center"
它LinearLayout
.
这是我的xml:
<HorizontalScrollView
android:layout_gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:src="@drawable/myImg"
android:layout_width="wrap_content"
android:adjustViewBounds="true"
android:layout_height="150dp"/>
</LinearLayout>
</HorizontalScrollView>
Run Code Online (Sandbox Code Playgroud)
但我需要以layout_gravity
编程方式设置.有没有人知道如何实现这一目标或知道不同的方式?我通过Google发现的所有内容都不适用于我这样的帖子.
谢谢!
我的代码出了什么问题,我试图"invalid"
在不同的位置(左,右,中)显示我的TextView ,但重力(左,右,中)不起作用!
我的text.xml是
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp" >
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/etext"
android:hint="@string/comment"
android:inputType="textPassword"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="100">
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button"
android:layout_weight="25"/>
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:text="ToggleButton"
android:layout_weight="75"
android:checked="true"
android:paddingLeft="15dp"/>
</LinearLayout>
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/invalid"
android:layout_gravity="center"
android:gravity="center" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我的TextPlay.java是
public class TextPlay extends Activity {
Button button;
ToggleButton tbutton;
TextView tview;
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.text);
button = …
Run Code Online (Sandbox Code Playgroud) 这里有点新手.我进入Android开发大约两个月,但我在其他环境中有多年的开发经验.
好的.我有一个FloatingActionButton
没有出现在我预期或想要的地方.这里面CoordinatorLayout
,有一个沿AppBarLayout
/ Toolbar
和承接ListView
.
这是布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fragment_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".ViewVehicleList">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:title="Vehicle List"
app:layout_scrollFlags="scroll|enterAlways|snap"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.AppBarLayout>
<ListView
android:id="@+id/Vehicle_ListView"
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"
android:background="#FFFFFF"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
</ListView>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_AddVehicle"
style="@style/FloatingAddButton"
android:src="@drawable/ic_green_add"
android:layout_gravity="bottom|end"
app:layout_anchor="@id/Vehicle_ListView"
android:onClick="addVehicle"/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
使用此布局,屏幕如下所示:
我layout_gravity
说"bottom|end"
.我把它改成了"bottom|right"
,但我仍然得到了相同的结果.我已经阅读了很多教程,并通过Stack Overflow进行了研究,并且没有运气.
我设法通过删除FAB元素中列出的锚来解决它app:layout_anchor="@id/Vehicle_ListView"
,这似乎与我读过的内容相反:使用FAB并正确定位它需要使用layout_anchor
和layout_gravity
.没有锚标记,它看起来像这样:
所以这是我的问题:为什么我的锚固定了我的定位FloatingActionButton
?我究竟做错了什么?
android android-layout layout-gravity floating-action-button layout-anchor
android ×10
layout-gravity ×10
java ×2
layout ×2
alignment ×1
android-xml ×1
gravity ×1
mobile ×1
position ×1
scrollview ×1
xml ×1