Tag: android layout

如何在Android Studio中组织布局资源文件?

组织Java或Kotlin文件,我们有软件包,所以可以通过从其他软件包导入很好地组织java / kt文件,如何在Android Studio中组织布局资源文件? 假设我正在使用50个资源文件,那将变得一团糟? 如何正确地组织他们?

保护与不保护之间的区别

大家好,我有Android的Kotlin这个代码,但我不知道为什么它不工作。 这是我的代码: package com.test.tictac import android.support.v7.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } protected fun buClick(view: View) { val buSelected = view as Button var cellID = 0 when(buSelected.id) { R.id.bu1->cellID = 1 R.id.bu2->cellID = 2 R.id.bu3->cellID = 3 R.id.bu4->cellID = […]

连接超时:连接请参考IDE日志

我有Android的工作室3金丝雀,我用Kotlin编程,我使用Windows 64位操作系统,当我想开始一个新的项目我得到这个错误在XML文件,我不能查看设计的项目.. 。 请帮助我,如果你有任何想法! 谢谢

我如何设置FlexBox.alignItems以编程方式flex_end?

我知道如何在XML中做到这一点 app:alignItems="flex_start" 但我不知道是以编程方式找到对flex_end的引用。 例如,这个代码(在kotlin中)使整个布局变成空白。 但是,当我搜索项目“flex_box”唯一的地方,我看到它是int R文件。 那么如何设置alignItems = .flex_end? init { flexDirection = FlexDirection.ROW flexWrap = FlexWrap.WRAP alignItems = R.id.flex_end }

如何在不使用java的情况下在android上的TextView中进行可点击的链接

在这里我使用Textview上的可点击的网址,它的工作原理,但我怎样才能设置可点击和突出显示的文本与Open URL与浏览器。 这可能从Android XML或kotlin而不使用像setText(Html.fromHtml(“”))这样的java代码。 String value = "<html>Visit Web <a href=\"http://www.domainname.com\">mysite</a> View</html>"; TextView text = (TextView) findViewById(R.id.text); text.setText(Html.fromHtml(value)); text.setMovementMethod(LinkMovementMethod.getInstance());

无法在Kotlin中“findViewById”。 获取错误“类型推断失败”

当我尝试按ID查找RecycleView时,出现以下错误。 错误: –类型推断失败:没有足够的信息来推断参数T 码: class FirstRecycleViewExample : AppCompatActivity() { val data = arrayListOf<String>() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.first_recycleview) val recycler_view = findViewById(R.id.recycler_view) as RecyclerView ///IN THIS LINE I AM GETTING THE ERROR data.add("First Data") data.add("Second Data") data.add("Third Data") data.add("Forth Data") data.add("Fifth Data") //creating our adapter val adapter = CustomRecycleAdapter(data) //now adding the adapter […]

如何在Android上用Kotlin替换一个FrameLayout

我试图用Kotlin开发一个Android应用程序,但是当试图动态地移动碎片时,我遇到了一些麻烦。 我想要做的是用一个片段替换活动布局中的一个FrameLayout。 目前,每当我尝试运行我的应用程序,它只是在工具栏下显示一个白色的屏幕,导致我相信这个片段没有以我期望的方式被添加到FrameLayout。 这是我做第一笔交易的主要活动: package net.ma.ttrobinson.kchan import android.content.Intent import android.os.Bundle import android.support.v7.app.AppCompatActivity import android.support.v7.widget.Toolbar import android.util.Log import android.view.Menu import android.view.MenuItem import android.view.View import android.widget.Button import android.widget.EditText import com.androidquery.callback.AjaxStatus import net.ma.ttrobinson.kchan.api.ChanThread import net.ma.ttrobinson.kchan.api.Request import org.jdeferred.DoneCallback import org.jdeferred.FailCallback import org.json.JSONArray import org.json.JSONObject class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val toolbar = […]

我可以有两个XML布局使用相同的视图使用Kotlin综合扩展?

我有一个列表视图,具有可扩展的行。 当我点击行,我膨胀了一个不同的xml布局是非常相似的( item_view (左)和item_view_expanded (右))和几乎所有相同的意见,但一些子视图出现在不同的大小(例如图像视图被放大),在展开的视图中还有一个按钮(保存照片)。 在将此文件转换为kotlin并尝试使用kotlin合成扩展访问视图时,我收到错误Overload Resolution Ambiguity 。 这是有道理的,因为确实有两个XML文件具有相同的ID,并且都在这个文件中导入。 我看到的大多数stackoverflow职位(如这一个 )通过删除其中一个导入语句或更改ID解决。 但我希望ID匹配,因为我想有一个共享的ViewHolder可以绑定这两个不同的意见。 毕竟,文本视图和图像都是相同的内容,只是在不同的视觉布局。 我可以在Java中使用butterknife来做到这一点,因为我只是简单地将折叠布局( download )中不存在的按钮注释为可空,并在绑定中进行空检查。 我想知道我怎么可以有两个XML布局使用相同的约束,因为几乎一切都是一样的。 这可以使用合成扩展在kotlin中完成吗? 这是我的ViewHolder的Java代码 public static class ItemViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.tvName) TextView mNameTextView; @BindView(R.id.tvRelationship) TextView mRelationshipTextView; @BindView(R.id.tvLifespan) TextView mLifespanTextView; @BindView(R.id.topDivider) View mTopDividerView; @BindView(R.id.bottomDivider) View mBottomDividerView; @BindView(R.id.imageView) ImageView mImageView; @Nullable @BindView(R.id.savePhoto) TextView mSavePhoto; public ItemViewHolder(final View view) { super(view); […]

膨胀类碎片android kotlin的错误

所以,首先我回答你的问题:“你真的吗?答案很多。” 是的,我知道,但是我真的试图像第三天那样解决这个问题:在所有的SOF中,我的错误是没有问题的。 我有两个类似的项目:Java和Kotlin。 但是这个f @#^%!@ ing只能在Kotlin中出错。 但XML是身份的100%。 所以,错误是: android.view.InflateException: Binary XML file line #8: Error inflating class fragment 。 我的activity_main.xml: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/layoutMain" android:orientation="vertical"> <fragment android:id="@+id/top_fragment" android:name="com.example.weatherapp_kotlin.fragments.TopFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1"> </fragment> <fragment android:id="@+id/bottom_fragment" android:name = "com.example.weatherapp_kotlin.fragments.BottomFragment" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="4"> </fragment> </LinearLayout> 我试图做的事情: 要将XML中的android:name =""更改为class = "" 在第一个位置设置android:name或class 将LinearLayout更改为RelativeLayout和ConstraintLayout 要改变类extends到FragmentActivity (现在是Fragment和在Java中工作正常) 清理项目 我的LinearLayout有一个id ,一个orientation […]

Kotlin Android扩展和保留片段

我在项目中使用Kotlin Android扩展 ,遇到了一些我无法理解的行为。 我使用这段代码来保留我的片段: val fragment = fragmentManager.findFragmentByTag("hello") ?: HelloFragment() fragmentManager.beginTransaction() .replace(R.id.fragment_container, fragment, "hello") .commit() 这是保留的Fragment : import kotlinx.android.synthetic.hello.* public class HelloFragment : Fragment() { val text = "Hello world!" override fun onCreate(savedInstanceState: Bundle?) { super<Fragment>.onCreate(savedInstanceState) setRetainInstance(true) } override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { return inflater?.inflate(R.layout.hello, container, false) } override fun […]