Questions tagged «android-layout»

布局定义了用户界面的视觉结构,例如活动,片段或应用程序小部件的UI。

6
RelativeLayout正在全屏显示wrap_content
当没有元素layout_height="fill_parent"换句话说,所有元素都是高度的wrap_content时,为什么FOOBARZ会一直在底部进行布局? <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/feed_u" android:layout_width="50dip" android:layout_height="50dip" android:layout_marginLeft="5dip" android:scaleType="centerCrop" android:drawableTop="@android:drawable/presence_online" android:text="U" /> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/feed_u"> <ImageView android:id="@+id/feed_h" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/btn_minus" /> <ImageView android:id="@+id/feed_ha" android:layout_toLeftOf="@id/feed_h" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@android:drawable/btn_plus" /> <TextView android:id="@+id/feed_t" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Title"> </TextView> <TextView android:id="@+id/feed_a" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Band" android:layout_below="@id/feed_t"> …


2
fitSystemWindows到底能做什么?
我正在努力理解概念,fitsSystemWindows因为它取决于视图执行不同的操作。根据官方文件, 布尔型内部属性,用于根据系统窗口(例如状态栏)调整视图布局。如果为true,则调整此视图的填充以为系统窗口留出空间。 现在,检查View.java该类,我可以看到将其设置true为时,会将窗口插图(状态栏,导航栏...)应用于视图填充,该填充根据上面引用的文档工作。这是代码的相关部分: private boolean fitSystemWindowsInt(Rect insets) { if ((mViewFlags & FITS_SYSTEM_WINDOWS) == FITS_SYSTEM_WINDOWS) { mUserPaddingStart = UNDEFINED_PADDING; mUserPaddingEnd = UNDEFINED_PADDING; Rect localInsets = sThreadLocal.get(); if (localInsets == null) { localInsets = new Rect(); sThreadLocal.set(localInsets); } boolean res = computeFitSystemWindows(insets, localInsets); mUserPaddingLeftInitial = localInsets.left; mUserPaddingRightInitial = localInsets.right; internalSetPadding(localInsets.left, localInsets.top, localInsets.right, …

13
为按钮背景颜色添加波纹效果到我的按钮?
我创建了一个按钮,我想向该按钮添加波纹效果! 我创建了一个按钮bg XML文件:(bg_btn.xml) <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:startColor="#FFFFFF" android:endColor="#00FF00" android:angle="270" /> <corners android:radius="3dp" /> <stroke android:width="5px" android:color="#000000" /> </shape> 这是我的涟漪效果文件:(ripple_bg.xml) <ripple xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:color="#f816a463" tools:targetApi="lollipop"> <item android:id="@android:id/mask"> <shape android:shape="rectangle"> <solid android:color="#f816a463" /> </shape> </item> </ripple> 这是我的按钮,我想添加波纹效果: <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="New Button" android:id="@+id/button" android:layout_centerHorizontal="true" android:layout_marginTop="173dp" android:textColor="#fff" android:background="@drawable/ripple_bg" android:clickable="true" /> 但是添加波纹效果后,按钮背景是透明的,并且仅在单击时显示按钮,如下所示: 点击之前 …

10
CardView layout_width =“ match_parent”与父RecyclerView宽度不匹配
我有一个片段,其中包含一个带有layout_width =“ match_parent”的RecyclerView: <android.support.v7.widget.RecyclerView 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:layout_gravity="center" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity$PlaceholderFragment" /> RecyclerView中的项目也是CardView,它也具有layout_width =“ match_parent”: <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="20dp" card_view:cardCornerRadius="4dp"> <TextView android:layout_gravity="center" android:id="@+id/info_text" android:layout_width="match_parent" android:gravity="center" android:layout_height="match_parent" android:textAppearance="?android:textAppearanceLarge"/> </android.support.v7.widget.CardView> 我将项目视图充气如下: public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { CardView v = (CardView) LayoutInflater.from(parent.getContext()) .inflate(R.layout.card_listitem, null, …


12
ListView内的可聚焦EditText
到目前为止,我已经花了大约6个小时来做​​这件事,除了遇到障碍之外,什么都没有。通常的前提是,ListView(无论是由适配器生成的还是作为标题视图添加的)行中都包含一个EditText小部件和一个行Button。我想要做的就是能够使用慢进/箭头,将选择器导航到正常的单个项目,但是当我到达特定的行时-即使必须明确标识该行-也可以将焦点一个孩子,我希望那个孩子能集中注意力,而不是用选择器指明位置。 我尝试了许多可能性,但到目前为止还没有运气。 布局: <ListView android:id="@android:id/list" android:layout_height="fill_parent" android:layout_width="fill_parent" /> 标题视图: EditText view = new EditText(this); listView.addHeaderView(view, null, true); 假设适配器中还有其他项目,使用箭头键将按预期在列表中上/下移动选择;但是当到达标题行时,它也会与选择器一起显示,并且无法集中到EditText使用慢跑球。注意:点按EditText 会把它聚焦在该点上,但是这取决于触摸屏,这不是必须的。 ListView在这方面显然有两种模式: 1 setItemsCanFocus(true).:从不显示选择器,但是EditText使用箭头时可以获取焦点。焦点搜索算法很难预测,并且没有视觉反馈(在任何行上:是否有可聚焦的子对象)都没有选择哪个项目,这两者都可以为用户带来意想不到的体验。 2 setItemsCanFocus(false).:选择器始终以非触摸模式绘制,EditText即使单击它也永远不会获得焦点。 更糟的是,调用editTextView.requestFocus()返回true,但实际上并没有给予EditText焦点。 我所设想的基本上是1和2的混合形式,而不是列表设置(如果所有项目都可聚焦),我想为列表中的单个项目设置聚焦性,以便选择器从选择整个行用于非焦点项目,并遍历焦点树以查找包含可焦点子项的项目。 有参加者吗?

17
是否可以使用android:DrawableRight在Button和TextViews中使用VectorDrawable?
当我在textview或imageview中使用VectorDrawable资产时,使用“ android:DrawableRight” /“ android:DrawableEnd” /“ android:DrawableStart” /“ android:DrawableLeft”时出现运行时崩溃。 该应用程序将编译正常,没有任何警告。 我在用 摇篮1.5 支持库23.2('com.android.support:appcompat-v7:23.2.0') 不过,我发现我可以以编程方式在Java中分配SVG,而不会发生此类崩溃。 TextView tv = (TextView) findViewById(R.id.textView); tv.setCompoundDrawablesWithIntrinsicBounds(null,null, getResources().getDrawable(R.drawable.ic_accessible_white_36px),null); (我怀疑这是23.2的支持库错误。) 但是是否可以对SVG资产使用drawableRight等? 这是我的布局 <?xml version="1.0" encoding="utf-8"?> <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="au.com.angryitguy.testsvg.MainActivity"> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawableRight="@drawable/ic_accessible_white_36px" android:background="@color/colorPrimary" android:textColor="#FFFFFF" android:textSize="22sp" android:text="Hello World!"/> </RelativeLayout> 这是我的活动 package au.com.angryitguy.testsvg; …

14
将build.toolsVersion '26 .0.2'的Android Studio从2.3更新到3.0后,无法解析符号'?attr / actionBarSize'
将Android Studio从2.3更新到3.0后,我buildToolsVersion从26.0.0 更改为26.0.2,然后出现此错误: Cannot resolve symbol '?attr/actionBarSize xml代码: <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="@color/colorPrimary" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:titleTextColor="@android:color/white"/> 依存关系: compile 'com.android.support:appcompat-v7:26.1.0' compile 'com.android.support:design:26.1.0'


28
如何在宽度设置为“填充父级”的android按钮中居中放置图标和文本
我想要一个带有图标+文本居中的Android按钮。我正在使用drawableLeft属性设置图像,如果按钮的宽度为,则效果很好,"wrap_content"但是我需要拉伸到最大宽度,所以我使用width "fill_parent"。这将我的图标直接移到按钮的左侧,我希望图标和文本都位于按钮内。 我已经尝试设置填充,但这仅允许提供固定值,因此这不是我所需要的。我需要在中心对齐图标和文本。 <Button android:id="@+id/startTelemoteButton" android:text="@string/start_telemote" android:drawableLeft="@drawable/start" android:paddingLeft="20dip" android:paddingRight="20dip" android:width="fill_parent" android:heigh="wrap_content" /> 关于如何实现这一目标的任何建议?


11
在布局XML文件中使用包含时如何指定ID
在我的布局xml文件中,我包括了其他布局xml文件(每个文件都有不同的android id)。 <include layout="@layout/view_contact_name" android:id="+id/test1"/> <include layout="@layout/view_contact_name" android:id="+id/test2"/> 但是,当我在模拟器中运行它并启动Hierarchy Viewer时,每个布局仍然显示“ NO_ID”,并且在我的代码中,我拥有 findViewById(R.id.test1)并且findViewById(R.id.test2)都返回null。 谁能帮我解决我的问题?


16
如何设置工具栏文本和后退箭头颜色
工具栏背景为深色,我希望文本和后退箭头为白色。我尝试了以下操作,但是没有用。 <style name="Theme.MyTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorPrimary">@color/blue</item> <item name="colorPrimaryDark">@color/blue_darker</item> <item name="colorAccent">@color/purple</item> <!-- item name="android:textColorPrimary">@color/white</item--> // I don't want to set this, changes everywhere. <item name="android:textColorSecondary">@color/white</item> <item name="android:toolbarStyle">@style/AppTheme.ToolbarStyle</item> <item name="toolbarStyle">@style/AppTheme.ToolbarStyle</item> <item name="drawerArrowStyle">@style/AppTheme.DrawerArrowStyle</item> </style> <style name="AppTheme.ToolbarStyle" parent="Base.Widget.AppCompat.Toolbar"> <!--<item name="actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>--> <item name="android:textColor">@color/white</item> // doesn't work <item name="titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item> <item name="android:titleTextAppearance">@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse</item> <item name="subtitleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle</item> </style>

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.