Questions tagged «android-layout»

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


13
Android在视图之间绘制一条水平线
我的“我的布局”如下所示: <?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="vertical" > <TextView android:id="@+id/textView1" style="@style/behindMenuItemLabel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Twitter Feeds" android:textStyle="bold" /> <ListView android:id="@+id/list" android:layout_width="350dp" android:layout_height="50dp" /> <TextView android:id="@+id/textView1" style="@style/behindMenuItemLabel1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="1dp" android:text="FaceBook Feeds" /> <ListView android:id="@+id/list1" android:layout_width="350dp" android:layout_height="50dp" /> </LinearLayout> 我的要求是在和之间绘制一条水平线TextViewListView 有人可以帮忙吗?

7
Android ConstraintLayout-将一个视图放在另一个视图之上
我正在尝试ProgressBar在上方添加一个Button(两者都在内ConstraintLayout)。 <Button android:id="@+id/sign_in_button" android:layout_width="280dp" android:layout_height="75dp" android:layout_marginBottom="75dp" android:layout_marginTop="50dp" android:text="@string/sign_in" android:textColor="@color/white" android:textSize="22sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toBottomOf="@+id/passwordEditText" app:layout_constraintVertical_bias="0.0"/> <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyle" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="@+id/sign_in_button" android:layout_marginTop="8dp" app:layout_constraintBottom_toBottomOf="@+id/sign_in_button" android:layout_marginBottom="8dp" app:layout_constraintVertical_bias="0.5" android:layout_marginLeft="8dp" app:layout_constraintLeft_toLeftOf="@+id/sign_in_button" android:layout_marginRight="8dp" app:layout_constraintRight_toRightOf="@+id/sign_in_button"/> 但即使打完电话后bringToFront上ProgressBar的onCreate,它总是背后的支柱Button。 ProgressBar progressBar = (ProgressBar)findViewById(R.id.progressBar); progressBar.bringToFront();


6
在Android中从ScrollView移除滚动条轨道
我的Android应用程序有一个主要的WebView(从本地资源加载的HTML),我想使用屏幕的整个宽度并能够(垂直)滚动。因此,我已将WebView包装在布局XML中的ScrollView中,但是无论如何我似乎都无法从滚动视图的右侧删除滚动条轨道。更糟糕的是,我似乎无法更改滚动条轨道的背景颜色。 这条轨道大约占用10dp左右,这在WebView中为HTML造成了问题。我希望滚动条显示在 Web视图的顶部(iPhone样式,如果您知道我的意思)。现在,您可以说“为什么不将HTML更改为更薄10像素?”,这是我的后备解决方案,但我宁可不必这样做。 这是布局XML的相关代码段,您将看到我已经尝试了所有可以找到的android:etc属性: <ScrollView android:id="@+id/deal_web_view_holder" android:layout_below="@id/clock_bar_holder" android:layout_width="fill_parent" android:layout_height="fill_parent" android:fillViewport="false" android:fadingEdge="none" android:background="#02a7e9" android:scrollbars="none" android:scrollbarSize="0dp" android:paddingRight="0dp" android:scrollbarAlwaysDrawVerticalTrack="false" android:scrollbarStyle="insideOverlay" android:scrollbarTrackVertical="@drawable/scrollbar_track_vertical" > <WebView android:id="@+id/deal_web_view" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </ScrollView> 我的目标平台是2.1 / API lvl 7,实际上只是在处理正常大小的显示器,mdp,hdp和xhdp。

9
是否可以将ConstraintLayout放入ScrollView中?
所以最近,随着Android Studio 2.2的推出,新的ConstraintLayout使设计变得更加容易,但与RelativeLayoutand 不同的是Linearlayout,我不能使用ScrollView来环绕ConstraintLayot。这可能吗?如果是这样,怎么办? 即 <ScrollView 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:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <android.support.constraint.ConstraintLayout android:id="@+id/constraintLayout" android:layout_width="match_parent" android:layout_height="match_parent" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="0dp"> <!-- Have whatever children you want inside --> </android.support.constraint.ConstraintLayout> </ScrollView>

8
使用attr / selectableItemBackground作为背景时,如何修改波纹颜色?
我已经看到了一些SO问题,他们提供了一些可能的方法来实现我想要的。例如: 用 colorControlHighlight在styles.xml中属性。 这是我的styles-v21.xml: <style name="SelectableItemBackground"> <item name="android:colorControlHighlight">#5677FC</item> <item name="android:background">?attr/selectableItemBackground</item> </style> 而我的小部件: <TextView android:id="@+id/tv_take_photo_as_bt" android:layout_width="280dp" android:layout_height="48dp" android:text="@string/act_take_photo" style="@style/SelectableItemBackground"/> 而且它不起作用。我还尝试添加parent="Theme.AppCompat到“ SelectableItemBackground”样式,或者更改为colorControlHighlight(no android: prefix)",或更改为?android:attr/selectableItemBackground,都没有用。 backgroundTint在布局中使用属性。 所以我加android:backgroundTint="#5677FC"了TextView。仍然没用。然后,我尝试将其更改android:backgroundTintMode为src_in和src_atop,但它们从未改变。 因此,当?attr/selectableItemBackground用作背景时,如何更改波纹颜色。我只关注棒棒糖及以上。先感谢您!

1
以样式使用App名称空间
我将举一个例子来说明更大的意义。 想象一下,我的应用程序有许多FloatingActionButtons。因此,我想创建一种样式并重用它。因此,我执行以下操作: <style name="FabStyle” parent ="Widget.Design.FloatingActionButton"> <item name="android:layout_width">wrap_content</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_margin">16dp</item> <item name="app:backgroundTint">@color/accent</item> <item name="app:layout_anchorGravity">end|bottom</item> </style> 我遇到的问题是代码无法编译,因为它在抱怨 Error:(40, 5) No resource found that matches the given name: attr 'app:backgroundTint'. 我尝试通过resources标签将名称空间引入,但这不起作用 <resources xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" > 有什么想法可以让我工作吗?

4
是否可以在xml说明中旋转可绘制对象?
我正在创建一个具有可重复使用资源的应用程序(因为按钮始终是相同的,但是它们是镜像的或旋转的)。我确实想使用相同的资源,所以我不必再添加3个与原始资源完全相同但又轮换使用的资源。但是我也不想将代码与可以在XML中声明的内容混合使用,也不想通过矩阵进行转换,而这会花费处理时间。 我有一个在XML中声明的两个状态按钮。 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/and_card_details_button_down_left_onclick" /> <!-- pressed --> <item android:drawable="@drawable/and_card_details_button_down_left" /> <!-- default --> </selector> 我想重用可绘制对象,因为它是相同的,但是旋转了90º和45º,并且我将按钮分配为可绘制对象。 <Button android:id="@+id/Details_Buttons_Top_Left_Button" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@drawable/details_menu_large_button" /> 我知道我可以用RotateDrawable或来旋转它,Matrix但是正如我已经解释的那样,我不喜欢这种方法。 是否有可能直接在XML上实现这一目标,或者您认为这将是最好的实现方式?放置所有资源,但将其旋转,在代码中旋转它们? ---编辑--- @dmaxi的答案很好用,这是将其与项目列表结合的方法:) <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <rotate android:fromDegrees="90" android:toDegrees="90" android:pivotX="50%" android:pivotY="50%" android:drawable="@drawable/and_card_details_button_up_onclick"/> </item> <item> <rotate android:fromDegrees="90" android:toDegrees="90" …

12
该视图不受垂直限制。在运行时,除非您添加垂直约束,否则它将跳到左侧
Android Studio 2.2中的新版式编辑器不断在诸如EditText和Buttons之类的视图上显示此错误。友善的帮助。此外,任何有助于新约束布局入门的链接都将受到赞赏。 码: <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout android:id="@+id/activity_main" 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:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.set.email.MainActivity" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="81dp"> <TextView android:text="To:" android:layout_width="wrap_content" android:layout_height="wrap_content" tools:layout_editor_absoluteX="7dp" tools:layout_editor_absoluteY="4dp" android:id="@+id/textTo"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="textEmailAddress" android:ems="10" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="24dp" android:id="@+id/editTo" android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/> <EditText android:layout_width="384dp" android:layout_height="42dp" android:inputType="textPersonName" android:ems="10" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="94dp" android:id="@+id/editSubject" android:textAppearance="@android:style/TextAppearance.DeviceDefault.Medium"/> <EditText android:layout_width="384dp" android:layout_height="273dp" android:inputType="textPersonName" android:ems="10" tools:layout_editor_absoluteX="0dp" tools:layout_editor_absoluteY="179dp" android:id="@+id/editMessage" …

13
Appcompatv7-v21导航抽屉不显示汉堡图标
我正在使用最新的appcompat支持库实现棒棒糖风格的导航抽屉,但问题是从未显示汉堡包图标。仅显示后退图标。 这是我的活动代码 import android.os.Bundle; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.widget.Toolbar; import android.view.View; public class Home extends ActionBarActivity { private DrawerLayout mDrawerLayout; private ActionBarDrawerToggle mDrawerToggle; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); initViews(); } private void initViews(){ Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); toolbar.setTitleTextColor(getResources().getColor(android.R.color.white)); setSupportActionBar(toolbar); …

11
如何实现不拉伸的android:background?
我发现了一个很棒的线程,描述了如何“吃蛋糕,也要吃蛋糕”,即使用image Button代替ImageButton(不允许SetText(),调整大小等)。 这是通过使用View属性来实现的: android:background="@drawable/bgimage" 唯一的问题是它会拉伸图像以适合按钮大小。 缺少对固定的按钮大小(以像素为单位!)进行硬编码的方法,有没有办法告诉Android 不要完全拉伸背景图像,而不是裁剪或填充背景图像?

9
使LinearLayout像按钮一样
我有一个LinearLayout样式类似于的样式button,其中包含一些text / ImageView元素。我想使整个LinearLayout动作像a一样button,特别是要赋予它在a中定义的状态,以便在按下时具有不同的背景。 有没有比ImageButton确定整个Layout的大小和绝对定位更好的方法?

11
java.lang.IllegalStateException:指定的子代已经有一个父代
当我第一次实例化片段时,我正在使用片段。但是我第二次遇到这个例外。我找不到发生错误的行? 04-04 08:51:54.320: E/AndroidRuntime(29713): FATAL EXCEPTION: main 04-04 08:51:54.320: E/AndroidRuntime(29713): java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 04-04 08:51:54.320: E/AndroidRuntime(29713): at android.view.ViewGroup.addViewInner(ViewGroup.java:3013) 04-04 08:51:54.320: E/AndroidRuntime(29713): at android.view.ViewGroup.addView(ViewGroup.java:2902) 04-04 08:51:54.320: E/AndroidRuntime(29713): at android.view.ViewGroup.addView(ViewGroup.java:2859) 04-04 08:51:54.320: E/AndroidRuntime(29713): at android.view.ViewGroup.addView(ViewGroup.java:2839) 04-04 08:51:54.320: E/AndroidRuntime(29713): …

10
弹出软键盘时页面滚动
我有一个<ScrollView>布局: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/my_scrollview" android:layout_width="fill_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" > <EditText android:id="@+id/input_one" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_gravity="center" android:inputType="number" > <EditText android:id="@+id/input_two" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_gravity="center" android:inputType="number" > <EditText android:id="@+id/input_three" android:layout_width="300dp" android:layout_height="wrap_content" android:layout_gravity="center" android:inputType="number" > <Button android:id="@+id/ok_btn" android:layout_width="200dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="20dp" android:text="@string/ok_str" /> </LinearLayout> </ScrollView> 如上所示,简单的布局包括三个输入字段和一个“确定”按钮。 我以上述布局运行我的应用程序,当我点击第一个输入字段(@+id/input_one)时,软键盘将从屏幕底部弹出,它隐藏了第三个输入字段和“确定”按钮。 自从我使用以来<ScrollView>,我想可以向上滚动页面以查看软键盘隐藏的第三个输入字段和“确定”按钮,但是该页面不可滚动。为什么?如何摆脱它?基本上,我希望看到每个输入字段和“确定”按钮,甚至弹出的软键盘也是如此。

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.