标签: android-layout

在 LinearLayout 中将文本视图左对齐(水平)

我试图让我的Textview左对齐已经尝试过。但android:gravity="left"什么也没发生。

这是我的 XML 代码:

  <LinearLayout
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:orientation="horizontal">
         <TextView
          android:id="@+id/textView11"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_margin="10dp"
          android:layout_weight="1"
          android:text="Email:"
          android:textSize="20dp"/>
        <EditText
          android:id="@+id/editTextAddress"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:layout_margin="10dp"
          android:layout_weight="1"
          android:background="@drawable/bg"
          android:hint="Enter Address"/>
  </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

java xml android android-layout android-xml

-1
推荐指数
1
解决办法
724
查看次数

列表适配器中的错误:尝试在空对象引用上调用虚拟方法 'boolean java.lang.String.equals(java.lang.Object)'

我有这个错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'boolean 
java.lang.String.equals(java.lang.Object)' on a null object reference 

Binary XML file line #0: Attempt to invoke virtual method 'boolean 
java.lang.String.equals(java.lang.Object)' on a null object reference
Run Code Online (Sandbox Code Playgroud)

我看到了很多代码示例,但没有区别。

错误发生在这一行:

row = inflater.inflate(R.layout.list_item, parent, false);
Run Code Online (Sandbox Code Playgroud)

请问有什么建议吗?

@Override
public View getView(int position, View row, ViewGroup parent){
    DataHandler handler = new DataHandler();
    try {
       if (row == null) {
         LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
         row = inflater.inflate(R.layout.list_item, parent, false);
         handler.poster = (ImageView) row.findViewById(R.id.movieImage);
         handler.title = (TextView) row.findViewById(R.id.movieTitle);
         handler.rating = …
Run Code Online (Sandbox Code Playgroud)

android listview nullpointerexception android-layout

-1
推荐指数
1
解决办法
1267
查看次数

使用 ConstraintLayout 创建内容行

我目前遇到了一个相对复杂的基于 ConstraintLayout 的设计实现的复杂情况。

在此输入图像描述

该设计是一排项目,如上所示。这些行是静态的,并根据某些数据相关条件显示/隐藏。

我遇到的问题是,我还没有找到一种可靠的方法来正确包含布局中的分隔线/屏障之间的每一行。

在此输入图像描述

正如您在上图中看到的,我的约束布局不符合预期的障碍/分隔线。我在下面包含了此布局的 XML。

 <android.support.constraint.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="16dp"
            android:paddingRight="16dp">

                <ImageView
                    android:id="@+id/timeIcon"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:src="@drawable/ic_clock"
                    app:layout_constraintStart_toStartOf="parent"
                    app:layout_constraintTop_toTopOf="parent" />

                <TextView
                    android:id="@+id/timeTextView"
                    android:layout_width="0dp"
                    android:layout_height="wrap_content"
                    android:textColor="#FF354052"
                    android:textSize="14sp"
                    android:textStyle="bold"
                    app:layout_constraintEnd_toStartOf="@id/statusTextView"
                    app:layout_constraintStart_toEndOf="@+id/textGuideline"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:text="4:20 PM" />

                <com.weedmaps.driver.android.view.StatusTextView
                    android:id="@+id/statusTextView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:paddingBottom="4dp"
                    android:paddingEnd="27dp"
                    android:paddingStart="27dp"
                    android:paddingTop="4dp"
                    android:textAllCaps="true"
                    android:textSize="12sp"
                    android:textStyle="bold"
                    app:layout_constraintEnd_toEndOf="parent"
                    app:layout_constraintTop_toTopOf="parent"
                    tools:background="@color/accepted_blue" />

                <android.support.constraint.Barrier
                    android:id="@+id/headerDividerTopBarrier"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:barrierDirection="top"
                    app:constraint_referenced_ids="headerDivider" />

                <!-- / end delivery status section -->

                <android.support.constraint.Barrier
                    android:id="@+id/deliveryStatusSectionBottomBarrier"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    app:barrierDirection="bottom"
                    app:constraint_referenced_ids="statusTextView, timeTextView, timeIcon" />

                <View
                    android:id="@+id/headerDivider"
                    android:layout_width="match_parent"
                    android:layout_height="1dp"
                    android:background="#FFE6EAEE"
                    app:layout_constraintTop_toBottomOf="@id/deliveryStatusSectionBottomBarrier"
                    app:layout_constraintBottom_toTopOf="@id/destinationInfoSectionTopBarrier" /> …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-constraintlayout

-1
推荐指数
1
解决办法
2149
查看次数

GridView 项起床

我有这个问题,而您可以在图像中看到,即使我添加了“layout_below”,项目仍然在很远的地方,我不知道它为什么会发生或如何修复它,我可以通过添加填充来部分修复它,但我不想用这种方法修复,我想要一个通用的修复

<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"
tools:context=".ShoppingPackage.ProductsListActivity">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="16dp"
    android:id="@+id/IntroLayout">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="@string/browse"
        android:textSize="36sp"
        android:textColor="@android:color/black"
        android:id="@+id/welcome_back"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/welcome_back"
        android:text="@string/products_list"
        android:textColor="@android:color/black"
        android:textSize="12sp"
        android:id="@+id/categoryName"/>



</RelativeLayout>


<GridView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_below="@id/IntroLayout"
    android:id="@+id/productsrecycler"
    android:background="#3C3C3C"
    android:numColumns="2"/>

 </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

这是第二个 XML 文件:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
app:cardCornerRadius="5dp"
app:cardElevation="10dp"
app:cardBackgroundColor="#222222">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:layout_width="180dp"
        android:layout_height="180dp"
        android:id="@+id/productImageView"
        android:scaleType="fitXY"
        android:layout_centerHorizontal="true"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/product_name"
        android:id="@+id/productName"
        android:layout_below="@id/productImageView"
        android:layout_centerHorizontal="true"
        android:textSize="18sp"
        android:textColor="@android:color/white"/>


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/product_price"
        android:id="@+id/productPrice"
        android:layout_below="@id/productName"
        android:layout_centerHorizontal="true"
        android:textColor="@android:color/white" />


</RelativeLayout>



</android.support.v7.widget.CardView> …
Run Code Online (Sandbox Code Playgroud)

android android-layout

-1
推荐指数
1
解决办法
48
查看次数

Recyclerview 仅显示第一项

我的 recyclerview 仅显示 ArrayList 中的第一个项目,当我调试适配器时,它显示 getItemCount() 为 3,看起来不错,据我所知没有运行错误,请帮助:

\n\n

这是我的适配器

\n\n
class MyAdapter(private val myDataset: ArrayList<String>) :\n    RecyclerView.Adapter<MyAdapter.Holder>() {\n\n\n    override fun onCreateViewHolder(parent: ViewGroup,\n                                    viewType: Int): Holder {\n\n        val view = LayoutInflater.from(parent.context)\n            .inflate(R.layout.list_item, parent, false)\n\n        return Holder(view)\n    }\n\n\n    override fun onBindViewHolder(holder: Holder, position: Int) {\n        holder.textView?.text = myDataset[position]\n    }\n\n\n    override fun getItemCount() = myDataset.size\n\n\n    class Holder(itemView: View) : RecyclerView.ViewHolder(itemView) {\n        var textView:TextView? = null\n\n        init {\n            textView = itemView.findViewById(R.id.name)\n        }\n\n    }\n\n\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是片段:

\n\n
class FragmentList1 : Fragment() {\n\n    var myArrayList: …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-fragments kotlin android-recyclerview

-1
推荐指数
1
解决办法
1762
查看次数

如何将布局拆分为两个相等的行?

这是在主布局中编写的代码

 <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:orientation="vertical"
            >

    </LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我需要在这个父布局中有两个线性布局,这样父布局就会分成两半。

xml android android-layout android-studio

-1
推荐指数
1
解决办法
373
查看次数

无法在 Android Studio 中访问 XML 表单主要 Activity

我无法从主要活动中访问 XML 中的元素,写入元素 id 会引发错误,就好像该元素根本不存在一样。基本上 Main 无法看到 XML 文件中写入的内容,即使它们是链接的。

无法从 XML 检测 getBmiButton 按钮

按钮在这里定义

java windows android android-layout kotlin

-1
推荐指数
1
解决办法
4196
查看次数

添加一条水平线和一些底部带有文本的图标,如 facebook

我想在卡片视图中添加页脚。

我当前在 RecyclerView 中的 XML 布局是这样的:

(此 xml 代码充当 RecyclerView 中的行)

代码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout 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="wrap_content"
    android:orientation="vertical">

    <android.support.v7.widget.CardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"

        android:layout_margin="@dimen/activity_margin_half"
        app:cardBackgroundColor="@color/placeholder_grey"
        app:cardCornerRadius="6dp"
        app:cardPreventCornerOverlap="false">

        <ProgressBar
            android:id="@+id/movie_progress"
            style="@style/Widget.AppCompat.ProgressBar"
            android:layout_width="@dimen/activity_margin"
            android:layout_height="@dimen/activity_margin"
            android:layout_gravity="center"
            android:theme="@style/CircularProgress"/>

        <ImageView
            android:id="@+id/movie_poster"
            android:layout_width="@dimen/poster_thumb_width"
            android:layout_height="@dimen/poster_thumb_height"/>



    </android.support.v7.widget.CardView>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="bottom"
        android:layout_marginTop="@dimen/activity_margin"
        android:background="@drawable/bg_round_rect"
        android:orientation="vertical"
        android:paddingBottom="@dimen/activity_margin"
        android:paddingEnd="@dimen/activity_margin"
        android:paddingLeft="@dimen/poster_thumb_width"
        android:paddingRight="@dimen/activity_margin"
        android:paddingStart="@dimen/poster_thumb_width"
        android:paddingTop="@dimen/activity_margin_half">

        <TextView
            android:id="@+id/movie_year"
            style="@style/TextAppearance.AppCompat.Caption"

            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/activity_margin_content"
            android:layout_marginStart="@dimen/activity_margin_content"

            android:alpha="0.38"
            android:gravity="start"
            android:maxLines="1"
            android:textStyle="bold"
            android:textColor="#f14e4e"
            tools:text="2009 | EN"/>

        <TextView
            android:id="@+id/movie_title"
            style="@style/TextAppearance.AppCompat.Subhead"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/activity_margin_content"
            android:layout_marginStart="@dimen/activity_margin_content"
            android:layout_marginTop="@dimen/activity_margin_quarter"
            android:textColor="#9b92b3"
            android:maxLines="1" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-xml android-cardview

-2
推荐指数
1
解决办法
1997
查看次数

在我的情况下如何只圆顶两个角

我创建了一个圆角可绘制资源round_corner_bg.xml

<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#FFFFFF"/>
    <stroke android:width="3dp" android:color="#B1BCBE" />
    <corners android:radius="10dp"/>
    <padding android:left="0dp" android:top="0dp" android:right="0dp" android:bottom="0dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)

我将它应用于我的LinearLayout

<LinearLayout ...>
    android:background="@drawable/round_corner_bg"
...
Run Code Online (Sandbox Code Playgroud)

它工作正常。但是,它环绕了所有四个角,我怎样才能使它只环绕左上角和右上角?

android android-layout android-drawable

-2
推荐指数
1
解决办法
1655
查看次数

如何在android中更改InputTextLayout的文本颜色

编辑: 我想摆脱的栏是顶部的栏,上面写着测试。我要更改的文本颜色是用户输入的“testing@gmail.com”文本:

用户界面

这是我的登录活动的 XML(我使用了 android studio 提供的默认登录活动):

<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="match_parent"
    android:gravity="center_horizontal"
    android:orientation="vertical"
    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="com.example.uname.myapp.LoginActivity">

    <!-- Login progress -->
    <ProgressBar
        android:id="@+id/login_progress"
        style="?android:attr/progressBarStyleLarge"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="8dp"
        android:visibility="gone" />

    <ScrollView
        android:id="@+id/login_form"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <LinearLayout
            android:id="@+id/email_login_form"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <AutoCompleteTextView
                    android:id="@+id/email"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/prompt_email"
                    android:inputType="textEmailAddress"
                    android:maxLines="1"
                    android:singleLine="true" />

            </android.support.design.widget.TextInputLayout>

            <android.support.design.widget.TextInputLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content">

                <EditText
                    android:id="@+id/password"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:hint="@string/prompt_password"
                    android:imeActionId="6"
                    android:imeActionLabel="@string/action_sign_in_short"
                    android:imeOptions="actionUnspecified"
                    android:inputType="textPassword"
                    android:maxLines="1"
                    android:singleLine="true" />

            </android.support.design.widget.TextInputLayout>

            <Button
                android:id="@+id/email_sign_in_button"
                style="?android:textAppearanceSmall"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="16dp"
                android:text="@string/action_sign_in"
                android:textStyle="bold" />

        </LinearLayout>
    </ScrollView> …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-studio android-styles android-studio-3.0

-2
推荐指数
1
解决办法
993
查看次数